AppReviewX Log in

VoiceOver test script for iOS apps

Gestures and checks for a screen reader pass on iPhone.

In this guide

VoiceOver reads the screen aloud and lets people use the iPhone without seeing it. This script gives you the gestures and a fixed order of checks, so a pass takes about 15 minutes and produces comparable results. For the short version of the idea, see a 10-minute screen reader test.

Turn it on

  • Settings > Accessibility > VoiceOver. Add VoiceOver to the Accessibility Shortcut (triple-click the side button) so you can switch it on and off quickly. Menu names can vary by iOS version.
  • Use headphones or lower the volume. Do not rely on the screen: look away or enable the screen curtain once you are comfortable.

Gestures you need

  • Swipe right / left: next / previous element.
  • Single tap: select and read the element under your finger.
  • Double-tap: activate the selected element.
  • Three-finger swipe up / down: scroll.
  • Two-finger swipe from the bottom up or a "Z" shape with two fingers: back or dismiss in many places (verify on your iOS version).
  • Rotor (twist two fingers): jump by headings, links or other element types.

The script

  1. Reading order. On each main screen swipe right from the top. Does the order match the visual and logical order? A skipped or reversed element is a finding.
  2. Labels. Every button and icon needs a spoken name that says what it does. "Button" or a file name like "icon_3" is a finding.
  3. Role and state. Does it say "button", "switch, on", "selected"? Toggles that do not announce state leave users guessing.
  4. Headings. Use the rotor to jump by headings. If nothing is found, long screens are hard to navigate.
  5. Images. Meaningful images need a description; decorative ones should be skipped.
  6. Forms. Each field announces its purpose. Errors must be spoken, not only shown in red. Try submitting an empty form.
  7. Custom controls. Sliders, custom tabs, carousels and gestures-only actions are the usual failures. Check that each can be operated by swipe and double-tap.
  8. Focus after change. When a sheet, alert or new screen opens, does VoiceOver move there? When it closes, where does focus land?
  9. Dynamic updates. Loading indicators, toasts and error messages should be announced.
  10. Complete one task. Pick your main flow (sign up, search, buy) and finish it with VoiceOver only. Where you get stuck is the top bug.

Record

For each finding: screen, element, what was spoken, what should be spoken. Mark whether a task is blocked.

This script checks accessibility behavior; it is not a certification. Next, run Dynamic Type and dark mode passes.

Get outside feedback

AppReviewX gives you private, structured feedback from other developers, one credit per feedback you write. New accounts start with 0 credits.

Start free

Hub: iOS app testing guide. Related: iPad layout testing, permission prompts.