Chapter 13
Accessibility
During a set your hands are on the floor holding your body up and your eyes are pointed at the ground. Every user of this app is hands free and eyes free for the length of a set, which is why the non-visual path is the product rather than an accommodation bolted onto it.
Hands free by necessity
No information in PushFit exists in only one channel.
Every rep is a number on screen, a haptic you can feel, and optionally a word spoken aloud. Every celebration is a visual, a haptic and an announcement. Counting itself happens without touch, by face tracking, because a push-up physically forbids reaching for the screen.
That is not a feature list. It is the reason the app is shaped the way it is, and it means a blind user and a sighted user are doing the same thing in the same way, not using two different versions of the app.
VoiceOver
Every control, stat and chart in PushFit carries a label written for the ear rather than lifted from the screen. Some specifics worth knowing:
- Magic Tap (two-finger double tap) starts a workout, and closes a set once you are in one. The two things you need mid-workout, with no target to find.
- Escape (two-finger scrub) leaves the rest overlay.
- A custom rotor on the calendar jumps between days that actually have push-ups, instead of walking you through every empty square in the month.
- Stat tiles announce a hint that they can be tapped for an explanation, and the explanation is real prose, not a repeat of the label.
- Percentage changes are read as sentences: not “plus 18 percent” but “18% above your recent average”, because the bare number does not say what it is 18% of.
- Widgets and complications read as one element each, so a Home Screen sweep hears “Daily Push-Ups, Today: 25” rather than a count, a caption and seven chart bars.
- Auto Pause announces itself when it fires, and the rest timer announces when it runs out, because both are things that happen without you doing anything.
- Selection is never carried by colour alone.
All of these strings are translated, in every language the app ships in.
Audio Graphs
Every chart in PushFit can be played as sound, using Apple's Audio Graphs. That includes:
- The push-ups-over-time bars in Statistics.
- The per-set chart, with its average, smallest and largest series named separately.
- The depth chart on a workout, with the highest and lowest point as two series.
- The week chart on the Apple Watch.
The charts also carry a VoiceOver hint explaining the gesture, since playing a graph is not something most people have discovered: swipe up or down to explore the data, and scroll with three fingers to move between periods.
Dynamic Type
Every font in the app, including the Montserrat display faces used for numbers, is registered against the nearest system text style and scales with your iOS text size setting. There is effectively no hard-coded type in PushFit.
Growth is capped for the fixed layouts, so at the largest accessibility sizes the workout screen stays usable rather than becoming a single unreadable digit. Any number that ticks uses monospaced digits, so a growing count never makes the layout shiver.
Reduce Motion
With Reduce Motion switched on, PushFit swaps motion for other channels rather than removing feedback:
- The celebration is never silently dropped. Confetti is a vestibular trigger, so hitting your goal fires haptics and a VoiceOver announcement instead of particles.
- Press states keep their colour change and drop the scale. The counter, which has no colour change to keep, keeps the ring taking the load instead.
- Screen transitions cross-fade rather than morph.
- The live waveform behind the counter watches the setting and responds while the app is open, not only at launch.
Colour and contrast
Turn on Increase Contrast in iOS and PushFit's colours resolve to high-contrast variants automatically, including all seven theme colours. Nothing needs to be reselected.
Colour is also never the only signal. Selected rows carry a checkmark, not just a tint; the calendar tells a rest day from a missed day by the chain running through it rather than by hue; and the one place the app shows all seven theme colours at once is the screen where the colours are the content.
Voice Control and Siri
The rep counter answers to a short spoken name so Voice Control users can say “Tap Count” rather than reading out a long label. And because three App Intents exist, a whole workout can be started, logged and queried by voice without touching the phone at all.
Something not working for you
Accessibility work is never finished, and reports from people who actually rely on it are worth more than any audit. If something in PushFit is hard or impossible to use, email support and say what you were trying to do. It gets fixed.