Contents

Accessibility updates

Learn about important changes to Accessibility.

Overview

Browse notable changes in Accessibility.

June 2025

June 2024

General

SwiftUI

  • Specify that your accessibility element behaves as a tab bar using the isTabBar accessibility trait with the accessibilityAddTraits(_:) modifier. In UIKit, use tabBar.

  • Enhance how you structure accessibility labels by appending custom content using accessibilityLabel(content:).

  • Generate a localized description of a color in a string interpolation by adding accessibilityName:, such as "\(accessibilityName: myColor)". Pass that string to any accessibility modifier.

June 2023

  • Provide a great experience for your app in Assistive Access, an accessibility feature that tailors the iOS and iPadOS experience for people with cognitive disabilities. Adopt UISupportsFullScreenInAssistiveAccess to allow your app’s UI to expand into all the available space above the Back button in Assistive Access.

  • Personalize your app with Personal Voice, a new feature that lets people record and recreate their voice directly on their iOS and macOS devices. Personal voices appear alongside system voices and are available for Live Speech, a type-to-speak feature that lets a person synthesize speech on the fly. Request access to synthesize speech with personal voices using a new request authorization API in AVSpeechSynthesizer.

  • Detect and mitigate sequences of flashing effects in your video content when the Dim Flashing Lights setting is on. If your app performs custom video drawing instead of using AVFoundation APIs, implement this behavior using MAFlashingLightsProcessor.

  • Pause animated images in your app when a person turns off the Animated Images setting on their device. Check the value of this setting using accessibilityPlayAnimatedImages.

  • Send announcement, layout change, screen change, and page scroll accessibility notifications with greater ease in multiplatform apps using the new Swift type AccessibilityNotification. Make sure people receive the most important information first by specifying a default, low, or high priority for announcements.

  • Enhance custom accessibility elements by specifying the combination of traits and behaviors that best characterizes the element. Add the new trait isToggle to controls that toggle on and off, and the new action accessibilityZoomAction(_:) to content that can zoom in and out.

  • Configure new direct touch options through accessibilityDirectTouch(_:options:) to provide the best experience for elements that support direct touch interactions in your app. Specify the silentOnTouch option to ensure VoiceOver is silent when a person interacts with the direct touch area so your app can provide its own audio feedback. Specify the requiresActivation option to make the direct touch area require VoiceOver to activate the element before touch passthrough happens.

  • Simplify how you maintain your UIKit accessibility code with block-based setters for accessibility attributes.

  • Ensure robust testing of your app’s accessibility experience by performing accessibility audits using XCUIApplication.

  • Assign automation elements to expose certain UI elements specifically for the purpose of automation without affecting the accessibility of those elements.

See Also

Technology updates