VoiceOver is a screen reader built into all Apple devices — macOS, iOS,
iPadOS, tvOS, and watchOS. It requires no installation and is activated
with a keyboard shortcut on Mac or a gesture on iPhone and iPad. Testing
with VoiceOver on macOS with Safari is one of the most important screen
reader combinations to test, as it represents a significant portion of
real-world assistive technology usage.
[1]
Recommended browser: Safari. VoiceOver and Safari are developed by
Apple and have the tightest integration. Chrome on macOS is also acceptable
for testing.
The VoiceOver modifier key (VO key) is Control + Option by default.
All VoiceOver commands are prefixed with VO.
| Shortcut | Action |
|---|---|
| Command + F5 | Toggle VoiceOver on/off |
| VO + A | Read from current position |
| VO + H | VoiceOver help menu |
| VO + U | Open Web Rotor |
| VO + Left/Right | Move to previous/next item |
| VO + Space | Activate current item |
| VO + Shift + Down | Interact with current item |
| VO + Shift + Up | Stop interacting with current item |
| Tab | Move to next interactive element |
| VO + Command + H | Next heading |
| VO + Command + L | Next link |
| VO + Command + J | Next form control |
| VO + Command + T | Next table |
| [2] |
The Web Rotor (VO + U) is VoiceOver's equivalent of NVDA's elements list.
It displays a filterable list of page elements by type — headings, links,
landmarks, form controls, tables, and more. Use it to:
Step 1 — Check the page title
When the page loads, VoiceOver announces the page title. Verify it
identifies both the page topic and the site name.
Step 2 — Navigate by headings
Open the Web Rotor (VO + U) and select Headings. Verify the heading
structure is logical, hierarchical, and descriptive.
Step 3 — Navigate by landmarks
In the Web Rotor, select Landmarks. Verify a main region exists and that
all landmark regions have meaningful labels where duplicates exist.
Step 4 — Test links
In the Web Rotor, select Links. Read through the list of link text. Every
link should make sense when read in isolation, without surrounding context.
[1]
Step 5 — Test forms
Tab to each form field. VoiceOver should announce the label, type, and any
required or invalid state. Submit with errors and verify error messages
are associated with their fields and announced appropriately.
Step 6 — Test interactive components
For custom widgets, use VO + Shift + Down to interact with them. Verify:
Step 7 — Test dynamic updates
Trigger status messages, validation errors, and live content updates.
Verify VoiceOver announces updates via live regions without requiring
focus to move.
[3]
Activate VoiceOver on iPhone or iPad via Settings → Accessibility →
VoiceOver. Core gestures:
Testing on iOS is important for verifying touch target sizes, gesture
alternatives, and mobile-specific ARIA patterns.
Last edited Apr 7, 2026, 7:31 PM · P**** J****