Accessibility
A health app that some people can't use isn't finished. Here's where VITALi actually stands — including the parts that aren't done.
Our aim
We target WCAG 2.1 Level AA for this website, and the equivalent platform standards — Apple's accessibility guidelines and Android/Material accessibility — in the app. We're not claiming a formal audit or certification: no third party has assessed VITALi. What follows is an honest self-assessment.
In the app
What's in place today:
- Dynamic Type. Text scales with your system font size, capped so layouts don't break.
- Reduced Motion. If you've enabled it, the loading pulse, the streak celebration and the home intro animation all stand down.
- Screen readers. Shared controls — buttons, headers, sheets, the tab bar, the rest timer, date pickers — carry accessibility labels, roles and states for VoiceOver and TalkBack. Still in progress: some in-content rows and chips (supplement cards, food rows, colour swatches) aren't labelled yet. We'd rather say that than claim a clean sweep we haven't finished.
- Touch targets meet the platform minimums (44pt iOS / 48dp Android).
- Colour contrast. Both themes are checked against WCAG AA. Light-theme muted text was recently darkened to clear 4.5:1.
- Colour is never the only signal — status is carried by icons and text too.
- Themes. Dark, light and system, so you can pick what's comfortable.
- Haptics and sound are distinct per action, and each can be turned off independently.
What isn't done yet — stated plainly:
- A full accessibility sweep is still open on our internal list. Labels are good on the screens we've audited, not yet verified on every screen.
- Some charts convey trends visually without a text-equivalent summary. This is the gap we're least happy about.
- VoiceOver and TalkBack testing has been partial rather than exhaustive.
On this site
- Semantic HTML with a logical heading order, landmarks, and a skip link.
- Full keyboard operation, with visible focus rings on every interactive element. The demo switcher supports arrow keys, Home and End.
- All text meets WCAG AA contrast; most of it meets AAA. Body text on the dark theme runs about 17:1.
- Every animation — scroll reveals, count-ups, the score ring, hover lifts, smooth scrolling — is disabled under
prefers-reduced-motion. - The form has a real label, inline validation, and errors announced via a live region.
- Icon-only buttons have accessible names; decorative SVGs are hidden from screen readers.
- No horizontal scrolling at any width; the layout works from 320px up.
- Zoom is never disabled.
Known gaps here: the phone mockups are CSS constructions labelled
with descriptive role="img" text rather than real
images, so their detail isn't fully conveyed to screen readers —
real screenshots with proper alt text will improve this. The
screenshot carousel is keyboard-scrollable but has no
keyboard-driven snap.
Tell us what's broken
This is the part that matters. If something here or in the app doesn't work with your assistive technology, please tell us — a specific report ("VoiceOver doesn't announce X on the Y screen") is worth more than any audit, and we'll treat it as a bug, not a feature request.
hello@tryvitali.com — we aim to reply within a few days.
Last reviewed 14 July 2026. This page is updated as things change — including when we find new problems.