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.
Calificaciones y reseñas
Esta app no ha recibido suficientes calificaciones ni reseñas para mostrar un resumen.
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.
Versión 26.7
El desarrollador (PaulJAdam.com) indicó que las prácticas de privacidad de la app pueden incluir el manejo de datos que se describe a continuación. Para obtener más detalles, consulta la política de privacidad del desarrollador .
No se recopilan datos
El desarrollador no recopila ningún dato en esta app.
Las prácticas de privacidad pueden cambiar; por ejemplo, según tu edad o las funciones que uses. Obtén detalles
El desarrollador indicó que esta app admite las siguientes funciones de accesibilidad. Obtén detalles