Accessibility

Build apps that work for everyone, however they see, hear, move or think.

Introduced
2002
Mac OS X 10.2
Kind
Framework
Runs on
Get it from
iOS
3.0+
iPadOS
3.2+
Mac Catalyst
14.0+
macOS
10.2+
tvOS
9.0+
visionOS
1.0+
watchOS
2.0+
VoiceOver reads the five stars as one adjustable element.

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.

RatingView.swift
import SwiftUI struct RatingView: View { @Binding var rating: Int var body: some View { HStack { ForEach(1...5, id: \.self) { star in Image(systemName: star <= rating ? "star.fill" : "star") } } // VoiceOver reads one element: "Rating, 3 out of 5 stars" .accessibilityElement(children: .ignore) .accessibilityLabel("Rating") .accessibilityValue("\(rating) out of 5 stars") // Swipe up or down to change it .accessibilityAdjustableAction { direction in switch direction { case .increment: rating = min(rating + 1, 5) case .decrement: rating = max(rating - 1, 1) @unknown default: break } } } }

History

How it grew up.

2002

An accessibility API for Mac apps

Mac OS X 10.2 lets apps describe their interface to assistive technologies through AppKit.

2005

VoiceOver on the Mac

Mac OS X Tiger ships VoiceOver, a screen reader built into the system.

2009

VoiceOver on iPhone

iPhone 3GS brings VoiceOver to a touch screen, with an accessibility API for every app.

2013

Switch Control and Dynamic Type

iOS 7 adds Switch Control and lets text follow the reader's preferred size.

2019

Voice Control

Control every part of iPhone, iPad and Mac with your voice alone.

2020

The Accessibility framework

A dedicated framework arrives, starting with custom content for data-rich views.

2021

Audio graphs

Charts get a sound: VoiceOver can play a data series as a tone.

2023

Assistive Access and audits

A simplified mode for people with cognitive disabilities, plus automated accessibility audits in UI tests.

2025

Accessibility Nutrition Labels

App Store product pages can list the accessibility features an app supports.

Watch and learn