Accessibility
Build apps that work for everyone, however they see, hear, move or think.
Overview
Every Apple platform ships with assistive technologies like VoiceOver, Voice Control, Switch Control and Assistive Access. Your app works with them when its elements describe themselves: a clear label, the right traits, a value that updates, and text that grows with Dynamic Type.
The accessibility APIs have been part of AppKit since Mac OS X 10.2 and of UIKit since iPhone OS 3, and SwiftUI gives you most of it for free with standard controls. The dedicated Accessibility framework, added in 2020, covers the rest, like custom content for data-rich views and audio graphs that let people hear the shape of a chart.
VoiceOver
Labels, values and traits tell the screen reader what each element is and what it does.
Dynamic Type
Text that follows the reader's preferred size, all the way up to the largest accessibility sizes.
Audio graphs
Describe a chart once and VoiceOver users can hear the shape of your data.
Accessibility Nutrition Labels
Show on the App Store which accessibility features your app supports.
History
How it grew up.
An accessibility API for Mac apps
Mac OS X 10.2 lets apps describe their interface to assistive technologies through AppKit.
VoiceOver on the Mac
Mac OS X Tiger ships VoiceOver, a screen reader built into the system.
VoiceOver on iPhone
iPhone 3GS brings VoiceOver to a touch screen, with an accessibility API for every app.
Switch Control and Dynamic Type
iOS 7 adds Switch Control and lets text follow the reader's preferred size.
Voice Control
Control every part of iPhone, iPad and Mac with your voice alone.
The Accessibility framework
A dedicated framework arrives, starting with custom content for data-rich views.
Audio graphs
Charts get a sound: VoiceOver can play a data series as a tone.
Assistive Access and audits
A simplified mode for people with cognitive disabilities, plus automated accessibility audits in UI tests.
Accessibility Nutrition Labels
App Store product pages can list the accessibility features an app supports.