Accessibility statement
Version 2.0 · Last updated: 2026-06-05
VitaminDB is committed to making the Service usable by the widest possible audience, regardless of ability or assistive technology. We target conformance with the Web Content Accessibility Guidelines (WCAG) 2.2 at Level AA, the EU European Accessibility Act (Directive 2019/882, applicable from 28 June 2025), the harmonised EU standard EN 301 549 v3, the Americans with Disabilities Act Title III, the U.S. Section 508 standards, the Accessibility for Ontarians with Disabilities Act (AODA), §504 of the U.S. Rehabilitation Act of 1973, and the UK Equality Act 2010.
Table of contents
- Conformance status
- Measures we have taken
- Assistive technology compatibility
- WCAG 2.2 self-audit, criterion-by-criterion
- Known limitations
- Cognitive accessibility commitments
- Testing methodology
- ATAG and authoring tools
- Feedback and complaints
- Enforcement procedure
1. Conformance status
We self-assess as partially conformantwith WCAG 2.2 Level AA. “Partially conformant” means that some parts of the content do not yet fully conform — see Section 5 for the open list of known limitations and remediation timeline.
2. Measures we have taken
- Semantic HTML structure (one
h1per page, landmarks, lists, tables withth/scope). - Keyboard navigation across the full UI with a visible focus ring (no positive
tabindex; focus never trapped outside dialogs). - Skip-to-content link as the first focusable element on every page.
- Colour palette tested for WCAG AA on body text and AAA on most editorial copy; UI components ≥3:1.
- Form controls have explicit
labelelements; errors are announced viarole=“status”oraria-live. - Images carry meaningful
alttext oraria-hidden=“true”when decorative. - Animation respects
prefers-reduced-motion; animated counters fall back to static numbers. - Touch targets are at least 44 × 44 CSS pixels on mobile; ≥24 × 24 elsewhere.
- Dialog and modal patterns use ARIA roles and trap focus correctly; close on Escape.
- Language is declared at the document level and inline for foreign-language quotations.
- Custom widgets (rating, vote, comparison) expose name, role, and value via WAI-ARIA.
- Editorial copy targets a Flesch-Kincaid reading age of 14–16 for guides, lower for instructions.
- No content flashes more than three times per second.
- Live regions for status updates (e.g. “Deal copied to clipboard”) use
role=“status”. - WCAG 2.2 new criteria: focus not obscured, target size minimum, dragging-movement alternative, accessible authentication minimum, redundant-entry avoidance, consistent help all implemented.
3. Assistive technology compatibility
We test with the following assistive technology / browser combinations as part of every major release:
| Assistive tech | Platform | Browser | Status |
|---|---|---|---|
| VoiceOver | macOS | Safari (current) | Supported |
| VoiceOver | iOS | Safari (current) | Supported |
| NVDA | Windows 10/11 | Chrome + Firefox (current) | Supported |
| JAWS | Windows 10/11 | Chrome + Edge (current) | Supported |
| TalkBack | Android | Chrome (current) | Supported |
| Narrator | Windows 10/11 | Edge (current) | Supported (best-effort) |
| Dragon NaturallySpeaking | Windows | Chrome | Supported for navigation |
| Switch Control | iOS / macOS | Safari | Supported |
| Browser zoom 400% | Any | Any | Supported (reflow holds) |
| Forced Colors / Windows High Contrast | Windows 11 | Edge | Supported |
4. WCAG 2.2 self-audit, criterion-by-criterion
| SC | Name | Level | Status | Note |
|---|---|---|---|---|
| 1.1.1 | Non-text Content | A | Partial | Editorial and UI images carry alt; user-submitted images may not yet. |
| 1.2.1 | Audio-only and Video-only (Prerecorded) | A | Not applicable | No audio/video on the site today. |
| 1.2.2 | Captions (Prerecorded) | A | Not applicable | Captions will be added with any future video. |
| 1.2.3 | Audio Description or Media Alternative | A | Not applicable | — |
| 1.3.1 | Info and Relationships | A | Conformant | Semantic HTML; ARIA used only when semantics are not expressible in HTML. |
| 1.3.2 | Meaningful Sequence | A | Conformant | DOM order matches visual order. |
| 1.3.3 | Sensory Characteristics | A | Conformant | No instructions rely on shape, colour, or position alone. |
| 1.3.4 | Orientation | AA | Conformant | Responsive layout works in portrait and landscape. |
| 1.3.5 | Identify Input Purpose | AA | Conformant | Inputs use autocomplete tokens. |
| 1.4.1 | Use of Color | A | Conformant | Colour is never the sole indicator (icons + text accompany state). |
| 1.4.2 | Audio Control | A | Not applicable | No auto-playing audio. |
| 1.4.3 | Contrast (Minimum) | AA | Conformant | Body text ≥4.5:1, large text ≥3:1. |
| 1.4.4 | Resize text | AA | Conformant | Text resizes up to 200% without loss of content. |
| 1.4.5 | Images of Text | AA | Conformant | Text is never rendered as images except brand logo. |
| 1.4.10 | Reflow | AA | Conformant | Content reflows at 320 CSS px without horizontal scroll for the main flow. |
| 1.4.11 | Non-text Contrast | AA | Conformant | UI components and graphical objects ≥3:1. |
| 1.4.12 | Text Spacing | AA | Conformant | No clipping under spacing adjustments. |
| 1.4.13 | Content on Hover or Focus | AA | Conformant | Tooltips dismissable, hoverable, persistent. |
| 2.1.1 | Keyboard | A | Conformant | All functionality available from keyboard. |
| 2.1.2 | No Keyboard Trap | A | Conformant | No focus traps outside dialogs. |
| 2.1.4 | Character Key Shortcuts | A | Conformant | Single-key shortcuts (e.g. /) only on input focus; can be disabled. |
| 2.2.1 | Timing Adjustable | A | Conformant | No session timeout pop-ups. |
| 2.2.2 | Pause, Stop, Hide | A | Conformant | Animated counters respect prefers-reduced-motion. |
| 2.3.1 | Three Flashes or Below | A | Conformant | No content flashes more than 3 times per second. |
| 2.4.1 | Bypass Blocks | A | Conformant | Skip-to-content link present. |
| 2.4.2 | Page Titled | A | Conformant | Each page has a unique, descriptive <title>. |
| 2.4.3 | Focus Order | A | Conformant | Focus moves in a logical order. |
| 2.4.4 | Link Purpose (In Context) | A | Conformant | Links describe their destination. |
| 2.4.5 | Multiple Ways | AA | Conformant | Search + sitemap + nutrient/brand directories. |
| 2.4.6 | Headings and Labels | AA | Conformant | One h1 per page; nested headings. |
| 2.4.7 | Focus Visible | AA | Conformant | Custom focus ring with ≥3:1 contrast. |
| 2.4.11 | Focus Not Obscured (Minimum) [WCAG 2.2] | AA | Conformant | Sticky header sized to never fully obscure focus. |
| 2.5.1 | Pointer Gestures | A | Conformant | No path-dependent gestures. |
| 2.5.2 | Pointer Cancellation | A | Conformant | Click activates on up-event. |
| 2.5.3 | Label in Name | A | Conformant | Visible label is included in the accessible name. |
| 2.5.4 | Motion Actuation | A | Not applicable | No motion-triggered actions. |
| 2.5.7 | Dragging Movements [WCAG 2.2] | AA | Conformant | All drag operations have single-click alternatives. |
| 2.5.8 | Target Size (Minimum) [WCAG 2.2] | AA | Conformant | Touch targets ≥24×24 CSS px; mobile ≥44×44. |
| 3.1.1 | Language of Page | A | Conformant | <html lang> set per locale. |
| 3.1.2 | Language of Parts | AA | Conformant | Inline-language switches marked. |
| 3.2.1 | On Focus | A | Conformant | No context change on focus. |
| 3.2.2 | On Input | A | Conformant | No context change on input change without notice. |
| 3.2.3 | Consistent Navigation | AA | Conformant | Header, nav, footer consistent. |
| 3.2.4 | Consistent Identification | AA | Conformant | Same icons + labels across pages. |
| 3.2.6 | Consistent Help [WCAG 2.2] | A | Conformant | Help/contact in the same footer location across pages. |
| 3.3.1 | Error Identification | A | Conformant | Form errors identified by text + aria-live. |
| 3.3.2 | Labels or Instructions | A | Conformant | Every input has a label. |
| 3.3.3 | Error Suggestion | AA | Conformant | Errors include suggested correction. |
| 3.3.4 | Error Prevention (Legal, Financial, Data) | AA | Conformant | Account deletion has a 14-day cool-off. |
| 3.3.7 | Redundant Entry [WCAG 2.2] | A | Conformant | No redundant entry in single sessions. |
| 3.3.8 | Accessible Authentication (Minimum) [WCAG 2.2] | AA | Conformant | OAuth-only by default; magic-link option avoids cognitive function tests. |
| 4.1.2 | Name, Role, Value | A | Conformant | Custom widgets use ARIA names, roles, states. |
| 4.1.3 | Status Messages | AA | Conformant | Toast/snackbar use role="status" or aria-live. |
5. Known limitations
- Some user-submitted images may lack alt text. We are progressively flagging and rewriting them. Target resolution: ongoing, with new submissions blocked from publishing without alt text by end of Q3.
- The deal-comparison table on small screens uses horizontal scroll; an alternative card view is available via the density toggle.
- A small number of legacy SVG illustrations do not yet expose accessible names; planned for the next release.
- Audio and video content: none currently. Any future audio/video will be published with captions, transcripts, and audio description as relevant.
- Mathematical content in articles uses Unicode where possible; complex equations are described in surrounding text rather than rendered as images.
6. Cognitive accessibility commitments
- Plain-language summaries at the top of every guide.
- Consistent navigation; same icons mean the same thing across the site.
- No surprise pop-ups; the consent banner is the only one and is dismissible.
- Generous time on any action; no countdown timers.
- Forms break long inputs into chunks with helper text.
- Tables include a one-line summary above; complex tables include both column and row headers.
- Errors include suggested fixes, not just “invalid”.
7. Testing methodology
Conformance is assessed by a combination of:
- Automated tooling on every deploy via CI: axe-core, Lighthouse, Pa11y. Builds fail on new axe-violations.
- Manual keyboard testing — every release tested with only the keyboard.
- Manual screen-reader testing — VoiceOver + NVDA on representative pages every quarter.
- Visual checks at 200%, 400%, 90% column width zoom; light + dark + forced-colour mode.
- Annual third-party audit (scope-permitting) against WCAG 2.2 AA + EN 301 549.
Last full manual audit: 2026-06-05.
8. ATAG and authoring tools
The deal-submission and comment authoring tools follow the W3C Authoring Tool Accessibility Guidelines (ATAG 2.0) Level A where applicable: accessible authoring UI, accessible-by-default outputs (alt-text requirement on image upload), and accessible previews.
9. Feedback and complaints
If you encounter an accessibility barrier, please tell us. We aim to respond within 5 working days.
- Email: [email protected]
- Include: the URL, what you tried to do, what happened, your assistive technology + browser version + operating system.
- We will tell you whether the issue is reproducible, what we plan to do, and the expected timeline.
10. Enforcement procedure
EU users who are not satisfied with our response may contact the national enforcement authority designated under Article 14 of the European Accessibility Act in their member state. In Monaco: Direction des Plateformes et des Ressources Numériques for digital-accessibility matters. In Portugal: Autoridade Nacional de Comunicações (ANACOM), Avenida José Malhoa 12, 1099-017 Lisboa. In Germany: Bundesfachstelle Barrierefreiheit. In France: Autorité de Régulation de la Communication Audiovisuelle et Numérique (ARCOM). Equivalent national authorities in IT, ES, NL, BE, AT.
UK users may contact the Equality and Human Rights Commission (EHRC) or, in Northern Ireland, the Equality Commission. U.S. users may file a complaint with the Department of Justice under ADA Title III procedures. Canadian users may contact the Canadian Human Rights Commission or the equivalent provincial body.
Related policies
See our privacy policy, terms, and imprint.