ast updated: August 18, 2026
Onyx is designed to be usable by everyone, including people who use VoiceOver, Reduce Motion, Dynamic Type, and other iOS accessibility features. This page describes what's built in, and what to do when something doesn't work for you.
What we've built in
VoiceOver
- Every interactive element has a descriptive label
- Recovery score, macro rings, and signal cards are grouped so VoiceOver reads each as one coherent unit instead of scattered numbers
- Sparkline trends are spoken as a direction ("trending up", "steady recently"), since the chart itself is invisible to VoiceOver
- Decorative elements are hidden from VoiceOver
Reduce Motion
- Honours the system setting plus an in-app toggle in Settings → Preferences → Reduce motion
- When reduced, animations collapse to instant: the morning recovery reveal, ring closure, post-workout shimmer, illness alert pulse and weekly time-lapse all become snap transitions
- Continuously animating elements — the Coach orb, loading shimmers, the recording pulse — stop entirely rather than slowing down
- The Apple Watch app honours watchOS Reduce Motion the same way
Dynamic Type
- All body text scales with the system text size
- Layouts reflow to avoid truncation at the largest accessibility sizes
Touch targets
- Buttons meet or exceed the 44×44pt minimum
- Small icons in lists are wrapped in 44pt hit areas even when the visual is smaller
- Every tappable surface responds to press with a subtle scale, so a tap is acknowledged even when the resulting change is off-screen