Accessibility

Accessibility statement

FitnessKit is used by trainers and clients with a wide range of needs, in gyms and on the move. This page backs the Accessibility Nutrition Labels declared for FitnessKit in App Store Connect.

Declared features

The following are audited and declared in App Store Connect. Each one is verified against the shipping app, not assumed from intent — a feature is only declared here once it passes.

Feature Support
VoiceOver Supported across the Approval Queue, client roster, client detail, the shared set editor, and both Today dashboards. Every shipped Swift Chart collapses to a spoken label + value summary via DesignSystem.chartAccessibility(label:value:) so trend data is never silent to a screen reader.
Larger Text Supported. Dynamic Type is verified up to accessibility size AX3 across the app's core trainer and client flows.
Sufficient Contrast Supported. Warning, success, and accent colors were re-checked and darkened in light mode to clear contrast requirements against their backgrounds.
Differentiate Without Color Supported. Status indicators that used to rely on color alone — including the client engagement row's week-by-week dots — now pair color with an icon and a label, so status reads without color perception.
Reduced Motion Supported. Animated transitions respect the system's Reduce Motion setting through the app's shared motion tokens, including geometry-matched transitions that would otherwise animate regardless of the setting.
Dark Interface Supported. The app ships a complete dark appearance using the same design tokens as light mode, not an inverted or partial theme.
Voice Control Supported. Interactive elements expose accessible names so they can be addressed and activated by spoken command.
Captions Not applicable. In-app video (the shared form-cue viewer) plays back muted with no dialogue or narration to caption.

Restraint around Siri and widgets

Accessibility support extends to how the app's Siri and widget surfaces speak. Every App Intent result answers with counts and times only — no intent, Shortcut, or Spotlight result ever speaks a client's name aloud, since a spoken result can be overheard by anyone in the room. Snapshot-backed intents and widgets also refuse to state a count once their data is stale, rather than assert a number nobody has verified.

Feedback

If you run into an accessibility barrier anywhere in FitnessKit, please tell us — email matybrennan@gmail.com with the screen and the assistive technology you were using, and we'll follow up.

More

See the press kit and the technology brief for the rest of the platform story.