iOS accessibility code samples
Browse code samples to learn how to build more accessible iOS apps.
Accessibility code samples
- Accessibility action
Accessibility action on iOS
Accessibility actions provide alternative ways for for users of assistive technologies to perform actions.
- Accessibility announcement
Accessibility announcement on iOS
Users of assistive technologies should be made aware of important changes in content through accessibility announcements.
- Accessibility dialog
Accessibility dialog on iOS
A dialog overlays the screen and offers one or more actions to proceed.
- Accessibility focus indicator
Accessibility focus indicator on iOS
Users should know which element has focus when using a keyboard or assistive technology.
- Accessibility focus
Accessibility focus on iOS
Sometimes you need to programmatically move the accessibility focus to a specific element.
- Accessibility focusability
Accessibility focusability on iOS
An element should indicate whether it should be focusable by assistive technologies or not.
- Accessibility group
Accessibility group on iOS
It is easier and quicker for users of assistive technologies to interact with grouped elements.
- Accessibility hint
Accessibility hint on iOS
An accessibility hint helps users to understand what will happen after performing an action.
- Accessibility label
Accessibility label on iOS
An accessibility label helps users of assistive technologies to identify elements on the screen.
- Accessibility language
Accessibility language on iOS
When content is written in multiple languages, foreign words should ideally be indicated in their respective language.
- Accessibility link
Accessibility link on iOS
Links should be accessible for users of assistive technologies.
- Accessibility live region
Accessibility live region on iOS
A live region allows users of assistive technologies to receive updates whenever important information on the screen changes.
- Accessibility modal
Accessibility modal on iOS
A modal overlays the screen with additional content.
- Accessibility name
Accessibility name on iOS
The accessibility name indicates the name used for interface elements by assistive technologies.
- Accessibility order
Accessibility order on iOS
Assistive technologies try to determine a logical accessibility order based on the placement and properties of the elements on the screen.
- Accessibility role
Accessibility role on iOS
An accessibility role helps users of assistive technologies to understand the purpose of elements on the screen.
- Accessibility state
Accessibility state on iOS
An accessibility state helps users of assistive technologies to understand the state of elements on the screen.
- Accessibility value
Accessibility value on iOS
An accessibility value helps users of assistive technologies to understand the state of elements on the screen.
Element code samples
- Element focus change
Element focus change on iOS
Whenever an element receives focus, it should not automatically trigger an event which changes context.
- Element identification
Element identification on iOS
Functionality that is repeated on multiple screens should use consistent identification.
- Element position
Element position on iOS
Components that are repeated on multiple screens should have a consistent position.
Input code samples
- Input cancellation
Input cancellation on iOS
Users should be able to cancel accidental interaction.
- Input content type
Input content type on iOS
Setting the content type for input fields helps user entering data.
- Input errors
Input errors on iOS
Users should be notified when they make input errors.
- Input gestures
Input gestures on iOS
Gesture activated functionality should also be available without the use of gestures.
- Input instructions
Input instructions on iOS
When a label might not describe the requested input sufficiently, you should add additional instructions.
- Input keyboard type
Input keyboard type on iOS
Setting the keyboard type for input fields helps user entering data.
- Input label
Input label on iOS
Input fields should have labels so that users know what input data is expected.
- Input motion
Input motion on iOS
Provide an alternative way for actions activated by motion, to allow everyone to use the functionality.
- Input predictable
Input predictable on iOS
Whenever a user provides input, there should be no change of context.
Keyboard code samples
- Keyboard order
Keyboard order on iOS
By adjusting the keyboard order, you can provide a great experience for users that control their device using a hardware keyboard.
- Keyboard shortcuts
Keyboard shortcuts on iOS
Most people operate their smartphones with touch, but some people use an external keyboard.
Quality code samples
Linting on iOS
Linting is the process of running a tool which analyzes your code for potential errors.
Media code samples
- Audio control
Audio control on iOS
Users should be able to control audio whenever it plays automatically.
- Audio description
Audio description on iOS
Videos should include audio description when important visual details are shown which you cannot hear.
- Live captions
Live captions on iOS
Captions should be provided in real-time to enable users to understand what is being said in live videos.
Captions on iOS
Captions should be provided to enable users to understand what is being said in videos.
Transcript on iOS
Videos should contain a transcript to allow users to read what is shown in media, such as a video or podcast.
Screen code samples
- Reduced animations
Reduced animations on iOS
Content which conveys a sense of motion can be a barrier for users.
Contrast on iOS
Apps should provide enough contrast between text and its background so that it can be read by people with moderately low vision.
- Dark mode
Dark mode on iOS
Dark mode darkens background colours and provides a more comfortable viewing experience in low light.
- Frequent flashes
Frequent flashes on iOS
Rapidly flashing images or views can cause seizures for some users.
- Descriptive headers
Descriptive headers on iOS
Screens should have descriptive headers, this helps users find specific content and orient themselves within your app.
- Descriptive labels
Descriptive labels on iOS
Screens should have descriptive labels, these help users recognize which purpose controls have.
- Screen orientation
Screen orientation on iOS
Apps should adapt to the preferred display orientation of the user.
Reflow on iOS
Content on the screen should reflow based on the users' preferences.
- Search functionality
Search functionality on iOS
Users might have difficulty finding a specific screen.
- Skip content
Skip content on iOS
It can be helpful for users to skip repeated blocks of content.
- Adjustable timing
Adjustable timing on iOS
Everyone, including people with disabilities, should have adequate time to interact with your app.
- Screen title
Screen title on iOS
Each screen should have a descriptive title, which helps users with identifying the screen.
Text code samples
- Bold text
Bold text on iOS
Apps should use bold text when users have indicated this as a preference in the system settings.
- Text element
Text element on iOS
Always use text elements to display text, unless this is not possible due to styling, such as text logo's.
Localization on iOS
Assistive technologies, such as the screen reader, use the locale for the pronunciation of utterances.
- Scale text
Scale text on iOS
Apps should scale text to the size specified by users in the system settings.
- Text spacing
Text spacing on iOS
Content should adapt to increased spacing between lines, words, letters, and paragraphs.
- Text truncation
Text truncation on iOS
Text should never get truncated in your app, even when users have enlarged their font size.