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.