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.
評分與評論
此App未收到足夠的評分或評論以顯示概況。
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.