Is Next3Trains accessible?
Justin Clarke-Salt
Accessibility is an area where I’ve tried to include sensible uplifts to support those who need them.
VoiceOver
Each train is read out as a single combined description rather than as a scatter of separate labels, so you get “the 08:42 to Waterloo, on time, platform 4” in one go instead of having to swipe through the pieces. Decorative icons and off-screen route cards are hidden from VoiceOver so they don’t get in the way.
There’s a custom rotor for moving between your saved routes, and the app announces things as they happen - when a refresh completes, when the sort order changes, and when station search results come back.
Text size
The app supports Dynamic Type throughout. Settings and onboarding screens scale all the way up through the larger accessibility sizes; the main train views and the widgets are capped a little lower, because past a certain point the layout stops being able to show three trains at once, which is the entire point of the app. This is why this support isn’t declared in the App Store accessibility profile - because 200% scaling doesn’t work for this app on iPhone, and actual support tops out at 160%-ish.
Text size doesn’t follow a system setting on the Mac version - macOS doesn’t offer that to apps built the way this one is.
Colour and contrast
Train status is never conveyed by colour alone - there’s always an icon and text as well. The status colours are drawn from a palette with separate light, dark and increased-contrast variants, chosen to meet WCAG AA contrast.
Motion and transparency
Reduce Motion turns off the animated transitions. Reduce Transparency swaps the blurred, glassy backgrounds for solid ones. Both are honoured in the widgets as well as the app.
Touch targets
Interactive controls meet the 44pt minimum size.
Help me test it
I test what I can, but I’m one person and I don’t use these features the way someone who relies on them does. If you use VoiceOver, large text, or increased contrast day to day, I’d genuinely value your feedback - please join the beta or get in touch via the Contact form.