This guide doesn't repeat the general user guide. Instead it walks through each task in the order VoiceOver reads the screen, names every control exactly as VoiceOver announces it, says what you should hear at each step, and is honest about the parts of the app that are visual by nature.
If something here doesn't match what you hear, tell us: info@accessibleresources.com. Reports from screen reader users are how this app gets better.
Ce guide existe aussi en français.
1. Before you start
You need an iPhone or iPad with VoiceOver on (triple-click the side button if you've set that up, or ask Siri to turn on VoiceOver). The Mac has its own app, which works differently — see section 10. Check you have version 9.2.1 or later: it is the version this guide describes, and 9.1 and 9.2.1 between them fixed the problems VoiceOver users reported (section 12). The app's labels follow your device language; the names in this guide are the English ones.
This walkthrough uses only standard VoiceOver gestures:
| Gesture | What it does |
|---|---|
| Swipe right / left with one finger | Move to the next / previous item |
| Double-tap | Activate the selected item |
| Swipe down / up with one finger | Move through the rotor's current setting (for example, from heading to heading inside a web page) |
| Rotate two fingers | Change the rotor setting (Headings, Links, Form Controls, Actions…) |
| Two-finger scrub (a Z shape) | Go back or dismiss |
| Three-finger swipe up / down | Scroll a list or page |
| Touch and hold, then drag | Only used in the Contrast tool's exploration mode — see section 7 |
2. First launch: sign-in, tour, plans
- Sign in, or skip. The first screen offers a
Sign in with Apple
button and, below it, aSkip sign in
button. An account only syncs your report details (organisation name and contact) across devices. You can skip it and sign in later from Settings. - The tour. Three short pages introduce the tools:
Audit any website
,Check colour contrast instantly
andSee the focus order
. Each has a button at the bottom to continue. - One optional question.
What brings you here?
lists a few options. Choosing one is optional; it only tunes which tips you see. - The plans screen. The app is a subscription with a free trial. The plans screen lists the tiers as selectable cards, a start button, then
Restore purchases
,Privacy Policy
andTerms of Use
as small buttons at the bottom. If you already subscribe on another device signed into the same Apple ID, double-tapRestore purchases
. Prices are read from the App Store and announced on the cards.
Replay welcome tour. Settings also has
Restore purchasesas its own row, and a
Support IDrow to quote if you ever email us about a purchase.
3. The main screen, in VoiceOver order
Swiping right from the top-left corner, you meet these controls in this order:
Settings
button (top left).- The tool switcher — a segmented control with three segments:
Audit
,Contrast
andFocus Order
(on iPhone the last one is shortened toFocus
). VoiceOver announces the selected one withselected
. Change source
button (top right). It opens a menu:Web URL
,Camera
,Gallery
,Live
.- The URL field, announced as
Enter URL to audit
, followed by a menu button withBack
,Forward
,Reload
andCreate Report
. On iPad,Back
,Forward
,Reload
andCreate Report
are also separate buttons beside the field. - On iPad, the floating results card comes next, straight after the toolbar. Its title is a heading. The card has a
Hide results card
button, and its Actions rotor offersMove to top left
,Move to top right
,Move to bottom left
andMove to bottom right
. - The loaded web page. VoiceOver reads it as ordinary web content: use the rotor to jump by headings, links or form controls exactly as you would in Safari.
- On iPhone, the results panel at the bottom. Its contents change with the selected tool — the sections below describe each.
Results (23). Still on version 8.0.2? There VoiceOver stays where it was, and on iPad the card comes after every element of the web page; update the app, or tap once with four fingers on the lower half of the screen and swipe left into the card.
4. Load a website
- Double-tap
Change source
, thenWeb URL
. A sheet opens with a text field labelledWebsite address
and the keyboard up (version 9.2.1; before that the field had no label and VoiceOver read its placeholder). - Type the address. You can leave out
https://. Press Return on the keyboard to load it. - While the page loads VoiceOver hears
Loading…
. When it finishes the sheet closes and you are back on the main screen with the page in place.
You can also type straight into the Enter URL to audit
field on the main screen and press Return.
Error: Could not load URL
, followed by the reason the page didn't load. Check the spelling first. If you left out https:// and the secure connection failed, the app has already tried plain http:// for you — some older public-sector sites only answer on http. In version 8.0.2 it didn't retry, so type http:// in front of the address yourself.
The site refused a secure connection. It may have moved to a new address, or its certificate may be broken.
— this is the site, not your connection. It usually means the address you have is an old one that now points at a server which no longer answers to that name; Safari fails on it too. Search for the site's current address and try that. Public archives and government services move more often than you'd think. (Version 9.2.1; older versions said check your internet connection
for this case.)
5. Run an audit and read the findings
The Audit tool runs axe-core, the same automated rules engine professional accessibility teams use, against the loaded page. It checks things like missing alternative text, buttons and links with no name, form fields with no label, insufficient colour contrast, wrong ARIA and heading structure. It does not check everything — section 6 explains what it can and cannot prove.
- With a page loaded, select the
Audit
segment. - The results panel announces
Setting up audit…
and thenPerforming audit…
. On most pages this takes a few seconds. - When it finishes, the panel's title becomes
Results
followed by the total in brackets, for exampleResults (23)
. A clean page saysCongrats! No issues found.
VoiceOver moves to this title by itself and announces the count (in version 8.0.2 it didn't — see section 3).
Navigating the findings
The findings are a list three levels deep. Each level is a table you swipe through and double-tap into:
- Severity. Rows named
Critical
,Serious
,Moderate
andMinor
, most severe first, each followed by the number of rule categories it contains. Double-tap one. - Rule category. Rows named by the rule, in axe's own words — for example
Images must have alternative text
orButtons must have discernible text
— each with the number of elements affected. Double-tap one. - Each affected element, one page at a time. Swipe right through: the target (a CSS selector pinpointing the element), the HTML of the element itself, a plain-language summary of what's wrong and how to fix it, and a
More information
link to the full rule documentation. When there are several elements, the navigation bar has buttons to move between them.
Use the two-finger scrub to go back up a level. The Share results
button in the results navigation bar is where you export — next section.
On iPhone the results panel can be made taller or shorter: sighted users drag its Results
bar. With VoiceOver, select that bar, set the rotor to Actions and choose Taller results
or Shorter results
; each step moves it by about a third of the screen, and the app remembers the height (version 9.2.1).
Timed out waiting for result
— the engine did not report back within 30 seconds. Double-tap Reload
in the menu beside the URL field and select Audit
again. Very large or script-heavy pages can take longer than the app allows. If it happens every time on one site, send us the address and we will look at it.
Error setting up audit.
, followed by the engine's own reason — the page stopped the engine from running. Sites that forbid scripts they don't own can't be audited from within the app.
These status messages are spoken as they change, so you don't need to move to the panel to hear them (version 8.0.2 only showed them).
6. Turn findings into evidence for a web team
A common reason to use this app is to show a web team something you experience but can't point at: a sort arrow on a table column that VoiceOver never announces, a menu that opens with no name, a form that reads as text field
with nothing else. Here is how to turn that into a report they can act on.
Export the findings as text
- On the results panel, double-tap
Share results
. - Choose
Summary (text)
for the severity counts and top issues, orAll findings (text)
for every element with its selector, HTML and fix.Spreadsheet (CSV)
gives the same as a file for a developer's tracker.Audit report (PDF)
opens the report builder (section 9). - The iOS share sheet opens. Send it by Mail, Messages, save it to Notes, or copy it.
The text exports are fully readable with VoiceOver, and they contain the element's HTML. That HTML is the evidence: a developer can search their code for it.
What an automated finding does and doesn't prove
Take the unspoken sort arrow. What the audit finds depends on how it was built:
- If the arrow is an image with no alternative text, or a button or link with no text, the audit catches it — expect a Critical or Serious finding such as
Images must have alternative text
orButtons must have discernible text
, with the exact element. That finding is objective proof. - If the arrow is drawn with CSS (a background image or a decorative character) on an element that isn't a button at all, axe cannot know it was meant to be interactive. No finding will appear. That's not a clean bill of health — it's the limit of automated testing, and the app's PDF report says so in its
What this scan covers — and what it can't
section.
For the second case, pair the audit with the Focus Order tool: if the arrow can't be reached with the Tab key, it isn't in the focus order, and the tool's count of tab stops for that table will show it. A finding plus a focus-order export plus your own description of what VoiceOver says is a complete, constructive report.
More informationlink names it), and describe what VoiceOver announced instead of what you expected. The audit's summary text already contains the first three.
7. Check colour contrast without seeing the colours
The Contrast tool compares two colours and reports whether the pair passes WCAG. Sighted users drag two pickers over the page. With VoiceOver there are two ways to work, and the first needs no dragging at all.
Method 1: type the colours
Use this when you know the colours — from a style guide, a designer, or a colour a developer gave you.
- Select the
Contrast
segment. The results panel appears. - Swipe to the two colour buttons. Each is announced by its current hex value, for example
#FFFFFF
. The first is the text colour, the second the background. - Double-tap the first. An alert titled
Change hex value
opens with a text field containing the current value. Select all, type the new value such as#575757, then double-tapOK
. - Repeat for the second colour.
- Swipe to the results. The panel's title reads the ratio, for example
Contrast: 7.0:1
, and the results group reads the verdicts:Text: Pass AA, Pass AAA. Large text: Pass AA, Pass AAA.
If a pair fails, double-tap Suggestions
in the panel's navigation bar. It lists computed alternatives that pass, grouped as AAA compliant (7:1)
, AA compliant (4.5:1)
and AA for large text (3:1)
, each read as a hex value. Double-tap one to apply it and hear the new result.
Change hex value, with
#RRGGBBas its placeholder. In version 8.0.2 it had no label and VoiceOver read only the value, for example
#FFFFFF, text field.
Method 2: explore the page by touch
Use this to sample colours from the actual page or a screenshot. It relies on touch, so it's most practical if you have some usable vision or a sighted colleague alongside.
- With the
Contrast
segment selected, swipe to the page area. It is announced asWeb source
(orSource image
for a screenshot or photo) with the hintDouble tap to enable VoiceOver exploration mode
. - Double-tap. VoiceOver announces the screen change and the hint becomes
Touch to explore image. Double tap to leave VoiceOver exploration mode
. In this mode VoiceOver passes your touches straight through to the page. - Touch and drag on the page: the nearest picker follows your finger, and the results update live. Swipe to the results panel to hear the new ratio and verdicts.
- Double-tap the page area again to leave exploration mode and return to normal VoiceOver navigation.
Sharing a contrast result
The share button on the Contrast panel offers Add to Report
(keeps the reading for the report in section 9), Share as Text
, Share Screenshot
and Open in Browser
. The text version reads the two hex values, the ratio and the pass/fail verdicts. Double-tapping a colour swatch copies its value to the clipboard; the app confirms with a message such as Copied HTML color to clipboard
.
8. The Focus Order tool
This tool works out the order a keyboard user tabs through a page and draws it on the page as numbered dots and connecting lines. The drawing is visual. What VoiceOver gets from it:
- The count. Select the
Focus Order
segment (Focus
on iPhone). The panel announcesCalculating focus order
and then the total, for example14 tab stops
, followed by any warnings such as infinite scrolling or sticky elements. Zero stops on a page with visible buttons is itself a finding: the panel says so and cites WCAG 2.1.1. - The export. The panel's
Export focus order map
button offersFull-Page Image
andFull-Page PDF
. Sighted colleagues can read the numbered map; for a web team it shows exactly where focus jumps.Rerun focus order scan
repeats the scan after the page changes. - Element details (role, accessible name, ARIA label, tab index, selector and HTML for each stop) open when a dot on the page is tapped. Reaching a specific dot by touch is hard without sight; the numbered map export and the audit findings are the reliable route to the same information.
9. Build a report and an accessibility statement
- Run the tools you want evidence from: the audit, any contrast readings you kept with
Add to Report
, and a focus-order scan. - Double-tap the menu button beside the URL field and choose
Create Report
(on iPad, theCreate Report
button beside the field). - The Report Builder opens. Its first field is
Subject / URL (what this report covers)
. Below it, switches forAudit (AxeCore)
,Colour contrast
andFocus order
, then aPreview & Export
button. - On the preview screen, fill in
Organisation name
andContact email or page
, then export the PDF with the share button. - From the same screen,
Open Accessibility Statement
generates a self-assessed statement from your results in your choice of 17 languages. You can copy it as text, download it as HTML, or share it as a link.
10. On a Mac
The Mac App Store installs the native Accessibility Checker for Mac, which is a different app from the one this guide describes. Instead of the three-tool screen, it has a Safari extension that audits the page you're viewing, a Reports Hub window for projects and audit rounds, and a menu-bar contrast checker. The Mac app help covers all of it. The extension's popup is an ordinary web page with a tab list (Audit
, Tab Order
, Contrast
, About
), so VoiceOver reads it like any other page in Safari.
- Your subscription: one purchase covers iPhone, iPad and Mac. The surest way to carry it across is the app account: in Settings on the iPad (or iPhone) choose
Sign in with Apple
, then do the same in the Mac app's Settings with the same account. The plan follows the account the moment both are signed in; no restore is needed. - If you prefer Restore purchases (in the Mac checker's Settings menu): it only finds the subscription when the App Store on the Mac is signed into the same Apple ID that bought it. A different Apple ID, including a family member's, is the usual reason it finds nothing.
- Still not recognised? Email us the
Support ID
from Settings on each device (section 13) and we will link them by hand.
11. Troubleshooting
Error: Could not load URL
- Listen to the reason that follows it, and check the spelling. The app already retries plain
http://when you leave out the scheme; if the site still won't load, it may be down or blocking the app. Timed out waiting for result
- Reload and audit again. If one site does this every time, tell us the address.
Error setting up audit.
- The page's security policy blocked the engine. It can't be audited from within the app.
The site refused a secure connection. It may have moved to a new address, or its certificate may be broken.
- The address is out of date or the site's certificate is wrong; Safari cannot open it either. Find the site's current address (search for its name) and load that instead.
No previous purchases found
, or Pro works on the iPad but not on the Mac- Sign in with the same app account on both devices from Settings (section 10); the plan follows the account. Restore only works when the Mac's App Store uses the Apple ID that bought the plan. If neither helps, send us both devices'
Support ID
. - The audit finished but I can't find the results
- VoiceOver moves to them when the audit finishes; if you've moved away since, rotor to Headings and swipe to
Results (N)
. If VoiceOver didn't move there by itself, check the app is version 9.1 or later. - The plans screen keeps appearing
- Some tools are part of the paid plans; the app shows the plans screen when you first use one. Use
Restore purchases
if you already subscribe, or close it to continue with the free tools. - I can't find a control this guide mentions
- Make sure the right tool segment is selected — the results panel's controls change with the tool. On iPad, the card may be hidden: look for
Hide results card
, which becomes a show button.
12. What changed in versions 9.1 and 9.2.1
Version 9.2.1 (November 2026) answers the reports VoiceOver users sent after 9.1:
- When a site refuses a secure connection, the failure page says so and VoiceOver announces the reason, instead of blaming your internet connection.
- The
Website address
field on the Choose Source sheet and in the Web URL dialog has a permanent label and a hint; the two colour pickers are namedForeground colour picker
andBackground colour picker
. - The results panel's height can be changed from the
Results
bar:Taller results
andShorter results
in the Actions rotor. - With Increase Contrast on, the audit result rows get a solid outline and heavier titles, and the contrast grid's headings and levels are bolder.
- Navigating the page after an audit (a link, a search, a new address) no longer closes the app.
These fixes came directly from VoiceOver users' reports on version 8.0.2, and shipped in version 9.1 in September 2026:
- When an audit finishes, VoiceOver moves to the results title and announces the count. The status messages
Setting up audit…
,Performing audit…
andTimed out waiting for result
are spoken as they change. - On iPad the floating results card is read straight after the toolbar, before the web page, and its title is a heading you can reach from the Headings rotor.
- Bare addresses that fail over https are retried over http, and the load error announces the actual reason instead of a generic message.
- When the audit engine fails, the reason is announced instead of a generic time-out.
- The hex colour field, the URL field, the report subject and the organisation and contact fields all have permanent VoiceOver labels.
- Purchases follow your app account: sign in with the same account on an iPhone and an iPad and the subscription is recognised on both without a restore.
- Settings has a
Support ID
row. If you write to us about a purchase, include it and we can find your subscription straight away. - With Increase Contrast on in iOS Accessibility settings, option and plan cards get solid outlines instead of hairline grey.
Thank you to everyone who reported these — keep them coming.
13. Getting help
Email info@accessibleresources.com, or use Send feedback
in the app's Settings. Tell us the device, the site you were checking and what VoiceOver said — that is enough for us to reproduce it. If you run a user group and want a walkthrough of a specific site's results, say so; we're glad to help you make the case to its web team.