Accessibility Techniques
PaulJAdam.com
No ratings yetDeveloper ToolsAges 4+
Screenshots
About this app
Learn how to build accessible iOS apps by seeing the same component done right and done wrong, side by side. Accessibility Techniques is a working reference of 89 SwiftUI techniques. Every one ships a good and a bad example you can test yourself with VoiceOver turned on, so you hear the difference a proper accessibility label makes and what breaks when focus is not managed. Each technique maps to the WCAG 2.2 success criteria it satisfies. What's inside • 89 techniques in a searchable, alphabetical index • Good and bad examples side by side, each with a Details note explaining exactly why it passes or fails • Coverage of VoiceOver, Voice Control, Dynamic Type, Dark Mode, Reduce Motion, Increase Contrast, Smart Invert, and more • Written documentation for every technique, linked to the relevant WCAG criteria and Apple's developer docs • A companion watchOS app Who it's for Developers, designers, and QA who need to settle a question quickly, verify a real VoiceOver announcement before shipping, or show a teammate why a pattern fails. Open source The full SwiftUI source is on GitHub, so you can read how each example is built and copy what you need. The project also includes a11y-check, a free static analysis tool that scans your own Swift code for accessibility issues — 43 rules across 23 WCAG 2.2 criteria. https://github.com/cvs-health/ios-swiftui-accessibility-techniques Issues, suggestions, and contributions welcome.
What's new
Version 26.7 · Sep 24, 2026
New technique pages • Accessibility Custom Content — attach extra details to an element so VoiceOver can offer them under the More Content rotor, without lengthening the element's name. Demonstrated with a seat map where a seat's window, middle, or aisle position exists only in the layout. • Web View Dynamic Type — make text inside a WKWebView scale with Dynamic Type. • Motion Actuation — offer an alternative to a shake gesture for people who cannot shake the device. New examples on existing pages • Drag & Drop — accessible .draggable() and .dropDestination(), plus what breaks without an accessibility action. • Pickers — avoiding unexpected context changes when a control's value changes. • Videos — why auto-playing audio is a barrier. • Alerts — what goes wrong when focus is not returned to the trigger after dismissal. • Accessibility Sort Priority — how misused sort priority reorders what VoiceOver reads. Also in this release • New Explore by Touch prototype reproducing a tab bar that VoiceOver cannot reach by touch, with an in-page breakdown of the three causes. • Tabs now set a unique navigation bar title per tab. • Fixed sample video URLs that had stopped loading. • The Simulator's Hardware > Shake menu now triggers the Motion Actuation demo.
More from PaulJAdam.com
Image Filter Photo Editor ToolPaulJAdam.com
Image Filters Photo Editor +PaulJAdam.com
Photo Collage EZPaulJAdam.com
My Task Board - To Do TrackerPaulJAdam.com
Contrast Tester for WCAG A11yPaulJAdam.com
Quicker QR Code GeneratorPaulJAdam.com
a11yTools - Web AccessibilityPaulJAdam.com
Sale Calculator Price w/ Tax & Clearance DiscountsPaulJAdam.com