We'd like to set Google Analytics cookies to learn how people use the Knowledge Base, so we can improve it. We set them only if you accept.

Skip to main content
Digital Accessibility Knowledge Base

This guide is for developers, product managers, and auditors who don't work with assistive technology (AT) day to day. It walks you through VoiceOver, the screen reader built into every iPhone and iPad, so you can confirm accessibility issues in your own apps.

Note: The screenshots in this guide were taken with VoiceOver on iOS 26.6. On other iOS versions, some screens may look different, and some settings may be in different locations.

Why this guide matters

Many accessibility issues in mobile apps can only be confirmed by using the app the way a screen reader user does. iOS ships with VoiceOver, so any iPhone already has everything required. Ten minutes with VoiceOver is often enough to confirm or rule out an issue that automated testing flagged.

VoiceOver in a nutshell

VoiceOver reads the screen aloud and lets you operate the whole device with touch gestures. It doesn't read the pixels, it reads the accessibility tree: the elements your app exposes, with their accessible names, traits (such as button or heading), and values or states. This is why a button that looks fine on screen can still be announced as just “button.”

When VoiceOver is on, the usual touch gestures change:

LayerWhat it controlsSample gestures
VoiceOver cursorWhich element VoiceOver is onSwipe right / left with one finger: move to the next or previous element
ActivationOperating the element under the cursorDouble tap with one finger: activate the selected element
RotorHow swiping up and down moves, for example by heading or by linkRotate two fingers on the screen, like turning a dial

Before you start: staying in control

The first time VoiceOver starts talking, it can feel overwhelming, and the phone no longer responds to touch the way you expect. That's normal. Set up an easy way out before you turn VoiceOver on:

  • Set up the Accessibility Shortcut – Go to Settings › Accessibility › Accessibility Shortcut, and select VoiceOver. From then on, triple-click the side button (or the Home button, on iPhones that have one) to turn VoiceOver on or off at any time.
  • Pause speech – Tap the screen with two fingers to pause VoiceOver. Tap with two fingers again to continue.
  • If the screen goes black – You turned on the screen curtain, which hides the display while VoiceOver keeps working. Triple-tap the screen with three fingers to turn it off.
  • If VoiceOver goes silent – You may have muted it. Double-tap the screen with three fingers to unmute.
The Accessibility Shortcut settings screen with VoiceOver selected as the shortcut

Note: VoiceOver can also display everything it speaks as text in the caption panel at the bottom of the screen. As a sighted tester, turn it on in Settings › Accessibility › VoiceOver › Caption Panel. It lets you read the announcements instead of relying on audio alone.

Setup and first-run checklist

  1. Turn on VoiceOver – Go to Settings › Accessibility › VoiceOver, and turn on VoiceOver. You can also triple-click the side button, if you set up the Accessibility Shortcut, or ask Siri to “Turn on VoiceOver.”

    The Accessibility settings screen, with VoiceOver at the top of the Vision section
  2. Slow down the speech – Opening a screen reader for the first time can be overwhelming. On the VoiceOver settings screen, drag the Speaking Rate slider toward the turtle to make VoiceOver speak more slowly.

    The VoiceOver settings screen, with the VoiceOver switch, the VoiceOver Tutorial button, the Speaking Rate slider, and links to the Speech and Braille settings
  3. Run the tutorial – With VoiceOver on, go to Settings › Accessibility › VoiceOver, and tap VoiceOver Tutorial. It teaches the essential gestures in a few minutes. We recommend it for every first-time user.

  4. Practice the gestures – On the same screen, tap VoiceOver Practice, then double-tap to start. You can try any gesture and hear what it does, without changing anything on the device. When you finish, tap Done, then double-tap to exit.

Note: When VoiceOver is on, unlocking the device also works differently: tap a key on the passcode screen to select it, then double-tap to enter it.

Core concepts

The VoiceOver cursor

The VoiceOver cursor is the outline that shows which element is currently selected and being read. Swipe right with one finger to move it to the next element, and swipe left to move it back. You can also touch the screen, or drag a finger across it, to move the cursor to whatever is under your finger. This is called touch exploration.

The Weather app, with the VoiceOver cursor outlining the current conditions for New York: the city, the temperature, “Clear”, and the high and low temperatures. The caption panel at the bottom of the screen shows the spoken text, “New York, 14 degrees Celsius, Clear, High: 18…”

Selection vs. activation

Moving the cursor to an element only selects it, it doesn't activate it. To activate the selected element, such as pressing a button or opening a link, double-tap anywhere on the screen. You don't need to tap on the element itself.

The Rotor

The rotor changes what happens when you swipe up or down with one finger. Rotate two fingers on the screen, like turning a dial, to choose a setting, such as Headings, Links, Form Controls, Characters, Words, or Speaking Rate. Then swipe down with one finger to move to the next item of that type, or swipe up to move to the previous one. You can choose which settings appear in Settings › Accessibility › VoiceOver › Rotor.

The VoiceOver rotor overlay in the middle of the Weather app, with Speaking Rate selected

Scrolling and reading

With VoiceOver on, swiping with one finger moves the cursor instead of scrolling. To scroll, swipe with three fingers. To have VoiceOver read the whole screen, swipe up with two fingers to start from the top, or swipe down with two fingers to start from the selected element.

Your first walkthrough

How to read the table

The announcement column is abridged, the exact wording varies by iOS version and by the VoiceOver settings you choose.

Basic app test

StepGestureWhat to check
Open the app you want to testTap its icon, before turning VoiceOver onThe app's first screen is displayed
Turn on VoiceOverTriple-click the side button“VoiceOver on”, then the selected element
Go to the first elementTap near the top of the screen with four fingersThe first element on the screen is announced
Move through the screenSwipe right with one finger, repeatedlyEvery interactive element and every piece of essential content is announced, in a logical order
Check each controlListen to each announcementEach interactive element has a clear accessible name and a type, such as “button”, and announces its state or value, such as “on” or “selected”
Check the imagesMove to each meaningful imageEach image has a text alternative that conveys its purpose
Activate a controlDouble-tap anywhere on the screenThe control performs its action
Go backScrub two fingers back and forth quickly, like a “Z”The previous screen, or the dismissed alert
Turn off VoiceOverTriple-click the side button“VoiceOver off”

Settings worth changing

VoiceOver has many settings under Settings › Accessibility › VoiceOver. These matter most for testing:

SettingWhy it mattersWhat to change
Speaking RateDefault speech can be too fast for beginnersSlow it down, then speed it up as you get comfortable
Caption PanelReading announcements is easier than hearing themTurn it on
SpeechVoices and languages affect how text is readChoose the primary voice, and add voices you can switch to with the rotor
RotorThe settings you need for testing may not all be listedMake sure Headings, Links, Form Controls, and Containers are on
Commands › Touch GesturesLists every gesture and what it doesUse it as a reference, and to reassign gestures if needed
The VoiceOver Speech settings screen, with options for the primary voice, additional rotor voices, pitch change, language detection, and pronunciationsThe VoiceOver Touch Gestures screen, listing one-finger and two-finger tap gestures and their actions

Note: Settings › Accessibility › VoiceOver also includes Braille settings for braille displays and braille screen input, VoiceOver Recognition features that describe images and screen content, and Verbosity and Audio settings that control hints, sounds, and haptic feedback. You don't need to change them for basic testing.

Cheat sheet

Everyday gestures

TaskGesture
Turn VoiceOver on or offTriple-click the side button (with the Accessibility Shortcut set)
Pause or continue speechTwo-finger tap
Move to the next or previous elementOne-finger swipe right / left
Select the element under your fingerTouch or drag one finger on the screen
Activate the selected elementOne-finger double tap
Perform a long pressOne-finger triple tap
Choose a rotor settingRotate two fingers on the screen
Move by the rotor settingOne-finger swipe down / up
Scroll one pageThree-finger swipe up / down
Read the screen from the topTwo-finger swipe up
Read from the selected elementTwo-finger swipe down
Go back or dismiss an alertTwo-finger scrub (“Z” shape)
Perform the main action, such as answering a call or playing mediaTwo-finger double tap (Magic Tap)
Mute or unmute VoiceOverThree-finger double tap
Turn the screen curtain on or offThree-finger triple tap

App testing checklist

ScenarioExpected outcome
Swiping through a screenVoiceOver reaches every interactive element and all essential content, in a logical order
ControlsEach control is announced with a clear name, its type, and its state or value
ImagesMeaningful images have a text alternative, and decorative images are skipped
HeadingsChoosing Headings in the rotor and swiping down moves between the screen's section headings
Dialogs and new screensOpening a dialog or a new screen moves the VoiceOver cursor into it

Troubleshooting and team tips

  • The phone doesn't respond to your taps? VoiceOver is on, so one tap only selects. Double-tap to activate, or triple-click the side button to turn VoiceOver off.
  • VoiceOver reads a file name instead of a description? The image has no accessibilityLabel, so VoiceOver falls back to the image's name.
  • A control is announced without a type, such as “button”? It is missing the correct accessibility trait.
  • VoiceOver skips an element? It may be hidden from accessibility, for example with isAccessibilityElement = false.
  • Gestures don't register? Try a quicker movement, especially for double taps and swipes, and keep some space between your fingers for multi-finger gestures.

Learn More