Decoder Ring
Accessibility
Supported features
- VoiceOver. very control is labeled for Apple’s screen reader, on iPhone, iPad, and Mac: the text box, the character count, the clear button, the Decode button, the camera, the feedback buttons, and Settings. The camera viewfinder reads as one element that says what it can see, instead of dozens of separate fragments. The camera itself is an iPhone and iPad feature. On a decoded card, on every platform, the section titles (“What it means,” “Why it was written,” “Worth knowing,” “Words to know”) are marked as headings, so you can jump between them with the rotor. On the Mac, the text box is labeled “Text to decode,” the Services menu item and the editor are labeled the same way, and the bullet mark in front of each point on the card is hidden from VoiceOver, so it reads the point itself instead of announcing “bullet” first.
- Voice Control. The spoken names match what is on screen, so “tap Decode” or “tap Settings” on iPhone or iPad, and “click Decode” or “click Settings” on a Mac, does what you expect.
- Larger Text. On iPhone and iPad, all text scales with the Dynamic Type setting, through the largest accessibility sizes. The whole type scale grows from one anchor, so headings, body text, and labels keep their proportions as they grow, and the decoded card stays readable at any size. The share sheet card scales the same way. On the Mac, text size lives in the View menu, as Bigger Text (⌘+), Smaller Text (⌘−), and Actual Size (⌘0), and as a picker in Settings → Appearance running from 100% to 200% in six steps. It reaches every window: the buttons, the editor, the card, the walkthrough, and the sheets.
- Dark Interface. Decoder Ring follows your system appearance and ships a full dark theme, a warm near-black rather than a harsh pure black, to ease reading in low light, on iPhone, iPad, and Mac alike. The share sheet card and the Safari popup follow it too.
- Differentiate Without Color Alone. NNothing in a decode depends on color, on any platform. A caution or an error carries an icon and its own words, inside a bordered box, never just a colored dot or a tint on its own.
- Sufficient Contrast. very text color in the app’s shared palette meets the WCAG AA standard of at least 4.5 to 1 against every background it appears on, in both the light and dark themes, on iPhone, iPad, and Mac alike. Measured pair by pair across the palette, the lowest ratio is 4.8 to 1 and body text sits above 14 to 1. On the Mac, Decoder Ring wears the reader’s own accent color from System Settings, or a color they pick in Decoder Ring’s own Settings, and it measures that color rather than assuming it is safe. Words on an accent-colored button are white or dark, whichever gives more contrast. Where the accent color is used as words instead, in headings, links, and hints, it is darkened in light mode or lightened in dark mode until it clears the same 4.5 to 1 line. Automated tests check every macOS accent color, in both light and dark, against that standard.
- Reduced Motion. When Reduce Motion is on, the launch screen appears in place instead of sliding in, the decoder-ring mark stops turning, the unlock confetti does not play, and the spinner shown while a decode runs holds still. The walkthrough’s page dots stop stretching as you move between pages. On the Mac the pages crossfade, and on iPhone and iPad they change in place without sliding. The decoder-ring mark, the confetti, and the walkthrough dots are shared code, so they hold still the same way on a Mac. The Mac’s own decode indicator is a standard system progress bar that this app does not add motion to, and the Safari extension’s spinner stops as well.
- No camera required. Everything the camera can do, you can also do by pasting text, sharing it from another app, or opening a file. The camera is an optional permission on iPhone and iPad, and the app works fully without it. The Mac app has no camera step to skip: it was never built with one.
- Keyboard control on the Mac. Every control can be reached with Tab and activated with Space or Return. The Decode menu carries shortcuts for the whole flow: Return decodes, Shift-Command-V pastes and decodes, Command-period stops a decode that is running, Shift-Command-Delete clears the editor, and Command-O opens a file.
- The Safari extension’s popup is accessible too, on iPhone, iPad, and Mac, since it is the same web page on all three. Its result area is a live region, so VoiceOver and other assistive technology hear an update when the card arrives, and its buttons and text box are ordinary, labeled HTML controls rather than custom drawings.
What Decoder Ring does not include
Decoder Ring has no video or audio content, so Captions and Audio Descriptions do not apply. It does not read decodes aloud on its own. VoiceOver and Speak Screen do that. If either of those changes in a future version, this page will change with it.
How this was checked
An automated accessibility audit runs as part of the iPhone and iPad app’s test suite on every build. It walks the Decode screen and Settings and fails the build if any control is missing a label, has the wrong trait, or has a touch target smaller than 44 points. That audit runs on iOS only. Contrast ratios were measured from the app’s shared color palette against the WCAG AA threshold for every text and background pair in both themes, and that palette is the same one the Mac app draws from. On the Mac, the accent-color contrast described above has its own automated test, run against every macOS accent color in both light and dark. Larger Text, Reduced Motion, and the app’s layout at 200% text size were checked by hand, running the Mac app itself. Dynamic Type and Reduce Motion behavior on iPhone and iPad were verified in the code that implements them. The camera screen’s labels were verified in code rather than by the automated audit, which cannot open the camera.
The Mac app has no automated VoiceOver audit. Its VoiceOver labels and its keyboard shortcuts were verified by reading the Mac app’s source rather than by a passing test, and that is a real gap next to the iPhone and iPad app’s build-time gate. If you find a control on the Mac that VoiceOver or the keyboard cannot reach, that is exactly the kind of thing this gap could be hiding, and I want to hear about it.
Report an accessibility problem
If something is hard to use, tell me and I will fix it. Email [email protected] with what happened and which assistive feature you were using.