Skip to content
AccessibleOrNot

How to test website accessibility: a 6-step method with free tools

Published: 8 min readThe AccessibleOrNot team

To test website accessibility, scan one page per template automatically, then check the same pages by hand: keyboard only, 200% zoom, deliberate form errors and a screen reader. The automated half finds about 57% of issues by volume, according to Deque's 2021 study of more than 2,000 audits. The manual half covers the rest, including the barriers that stop people outright. Every tool below is free; plan roughly two hours for a site with five templates (our estimate, not a standard).

In short

  • A website accessibility test has two halves: an automated scan per template and a manual check of the same pages.
  • Automated testing finds about 57% of accessibility issues by volume, according to Deque's March 2021 study of more than 2,000 audits.
  • The EU's EAA (applied since 28 June 2025) and ADA Title II (from 26 April 2027 for large public entities) both point to WCAG 2.1 AA; Türkiye's Circular No. 2025/10 asks for WCAG 2.2 Level A.
  • No axe-core rule tests keyboard traps (2.1.2), focus order (2.4.3), visible focus (2.4.7) or error identification (3.3.1); only a person finds these.
  • A test result is a snapshot: re-test after every theme update or release.

What should a website accessibility test check against?

A website accessibility test checks pages against WCAG, the W3C's Web Content Accessibility Guidelines. The version and level depend on where your users are and which law applies to you.

Which WCAG level to test against, by law (as of October 2026)
LawWhoStandardDate
EAA (EU)Businesses offering e-commerce, banking and other listed services to EU consumersEN 301 549, for the web WCAG 2.1 AASince 28 June 2025
ADA Title II (US)State and local governmentsWCAG 2.1 AA26 April 2027 (50,000+ people); 26 April 2028 (smaller)
ADA Title III (US)Businesses open to the publicNone in regulation; the DOJ points to WCAGApplies now
Circular No. 2025/10 (Türkiye)Public bodies, banks, private hospitals and others; e-commerceWCAG 2.2 Level A21 June 2026; e-commerce 21 June 2027

If you serve more than one market, test against WCAG 2.2 AA: it is the simplest single target that includes the levels above. Background on each law: our EAA guide, the ADA website checklist and the ADA Title II rule.

Source: EUR-Lex, Pacific ADA Center, US Department of Justice (DOJ), ADA.gov, Lexpera

Step 1: Which pages should you test?

Test one page per template, plus every step of your most important flow. Most sites are built from a handful of templates, and a fix in a template fixes every page made from it. WCAG-EM 2.0, the W3C's evaluation methodology (July 2026), works the same way: a structured sample of representative pages plus a few random ones.

A minimal test sample for a typical website
Template or flowExampleWhy it matters
Home page/Carries the header, menu and footer that every other page reuses
ListingCategory, blog index, search resultsFilters, sorting and pagination
Detail pageProduct, service, articleImages, option pickers, tabs
FormContact, sign-up, bookingLabels, error messages, CAPTCHA
Main flowCart to checkout, or application to confirmationWhere a barrier costs a sale or a service
One random pageAn old campaign or news pageContent that lives outside the templates

Source: W3C WAI

Step 2: How do you run an automated accessibility test?

Run a rules-based checker on every page in your sample. Free options are the axe DevTools browser extension, WAVE and the accessibility audits in Lighthouse. Lighthouse and our own scan both run axe-core, Deque's open-source engine. Each finding names a rule, the element and a WCAG success criterion.

Read the results in two groups. Failures are certain: an image with no alt attribute, a button with no name. Needs review items are cases the engine can't decide, such as text over a background image; axe-core reports them separately on purpose, to avoid false alarms. A clean report, like a Lighthouse score of 100, means no automatically detectable issues were found, not that the page is accessible.

A typical finding: the axe rule button-name (WCAG 4.1.2) flags an icon-only button with no accessible name. A screen reader announces it as just "button".

Icon-only menu button (axe rule button-name): before and after
Code
Before<button class="menu-toggle"><svg>...</svg></button>
After<button class="menu-toggle" aria-label="Menu" aria-expanded="false"><svg aria-hidden="true">...</svg></button>

For more fixes like this one, see how to fix the 10 most common accessibility issues.

Source: Deque Systems, Deque Systems, GitHub, Deque Systems, WebAIM, Chrome for Developers (Google)

Step 3: How do you test with a keyboard?

Put the mouse away and complete your main flow with the keyboard alone. This step covers criteria that no axe-core rule tests: 2.1.2 No Keyboard Trap, 2.4.3 Focus Order, 2.4.7 Focus Visible and, in WCAG 2.2, 2.4.11 Focus Not Obscured.

Keyboard test: keys and expected behaviour
KeyExpected behaviourWCAG
Tab / Shift+TabMoves focus forward and back through links, buttons and fields in a logical order; you can always see where focus is2.4.3, 2.4.7
EnterFollows a link, activates a button, submits a form2.1.1
SpaceActivates a button, ticks a checkbox2.1.1
Arrow keysMove within radio groups, tabs and menus built as one widget2.1.1
EscCloses a pop-up, menu or drawer; focus goes back to the control that opened it2.1.2, 2.4.3

Write down every place you get stuck, lose sight of focus or land on something you can't see. A common case is a closed cart drawer or menu whose links still take focus. When the closed panel is marked aria-hidden="true", axe-core does catch it (rule aria-hidden-focus); the fix is the inert attribute or display:none on the closed panel.

Source: W3C, Deque Systems, GitHub

Step 4: How do you test zoom and reflow?

Zoom the browser to 200% and check that no text is cut off or overlapping (1.4.4 Resize Text). Then make the window 1280 px wide and zoom to 400%. That equals a 320 CSS px viewport, the width WCAG 1.4.10 Reflow uses: content should fit in one column without scrolling sideways, except for things like data tables and maps.

On a phone, check that pinch zoom works. The axe rule meta-viewport flags a viewport tag that blocks it:

Viewport that blocks zoom (axe rule meta-viewport): before and after
Code
Before<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
After<meta name="viewport" content="width=device-width, initial-scale=1">

Source: W3C, Deque Systems, GitHub

Step 5: How do you test forms and error messages?

Submit each form empty, then with deliberate mistakes: an email address without @, a date in the past. Each error should be described in text next to the field; a red border alone fails 3.3.1 Error Identification. Status messages such as "Added to cart" should be announced without moving focus (4.1.3 Status Messages, Level AA).

axe-core checks that a field has a label (rule label) and that aria-describedby points to an id that exists (rule aria-valid-attr-value). It can't judge whether the error message makes sense. The fix below gives the field a visible label and ties the error text to it, so a screen reader reads both together:

Unlabelled email field with a colour-only error: before and after
Code
Before<input id="email" type="email" class="has-error">
After<label for="email">Email address</label> <input id="email" type="email" aria-invalid="true" aria-describedby="email-error"> <p id="email-error">Enter an email address with an @, for example name@example.com.</p>

Source: W3C, Deque Systems, GitHub

Step 6: How do you test with a screen reader?

Use a screen reader your users are likely to have. NVDA is free on Windows; VoiceOver is built into Mac and iPhone; TalkBack is built into Android. Fifteen minutes on your main flow shows the most obvious problems.

Screen reader shortcuts for a first test (VO = Control+Option on Mac)
TaskNVDA (Windows)VoiceOver (Mac)
Turn on / offCtrl+Alt+N to start, Insert+Q to quitCmd+F5
Read from hereInsert+Down arrowVO+A
Next headingHVO+Cmd+H
Next form fieldFVO+Cmd+J
List headings, links, landmarksInsert+F7VO+U (rotor)

Listen for four things: images described usefully, prices and options read in a sensible order, buttons whose names say what they do, and an announcement after "Add to cart" or a form error.

Source: NV Access, Apple

How do you record results and keep them current?

Record each finding with the page, the step, the WCAG criterion, what happened and a screenshot. That record becomes your fix list, the evidence behind an accessibility statement and the baseline for your next test.

Re-test after every release. A site that passed in spring can fail in autumn after a theme update or a new campaign page. UsableNet counted more than 5,000 ADA digital accessibility lawsuits in 2025, and 45% of federal cases named a company that had been sued before. An automated scan can repeat step 2 every week; put steps 3–6 in your release checklist.

Be careful with what you claim afterwards. No test, ours included, proves that a site conforms to WCAG. On 22 April 2025 the US FTC finalised an order requiring accessiBe to pay $1 million and barring it from claiming without evidence that its product makes websites WCAG-compliant. Say what you tested, when, and what's still open.

Source: UsableNet, US Federal Trade Commission (FTC)

Frequently asked questions

How long does a website accessibility test take?

An automated scan takes minutes. In our estimate, the manual steps take one to two hours for a site with five templates; a full expert audit following WCAG-EM takes days.

Can I test website accessibility for free?

Yes, axe DevTools (free extension), WAVE and Lighthouse cover the automated step, and NVDA, VoiceOver and TalkBack are free screen readers. The limit is time and judgement, not tools.

Is an automated accessibility test enough?

No, automated testing finds about 57% of issues by volume (Deque, 2021). Keyboard traps, focus order and unclear error messages need a person to test them.

Sources

  1. Automated testing study identifies 57 percent of digital accessibility issues · Deque Systems · 10 March 2021
  2. Directive (EU) 2019/882 (European Accessibility Act) · EUR-Lex · 17 April 2019
  3. DOJ delays ADA Title II Web and Mobile App Accessibility Rule compliance deadlines · Pacific ADA Center · April 2026
  4. Guidance on Web Accessibility and the ADA · US Department of Justice (DOJ), ADA.gov · 18 March 2022
  5. Presidential Circular No. 2025/10, Official Gazette No. 32933 (in Turkish) · Lexpera · 21 June 2025
  6. WCAG Evaluation Methodology (WCAG-EM) 2.0 — Note Published · W3C WAI · 23 July 2026
  7. axe-core rule descriptions · Deque Systems, GitHub · current
  8. axe DevTools · Deque Systems · accessed October 2026
  9. WAVE Web Accessibility Evaluation Tools · WebAIM · accessed October 2026
  10. Lighthouse accessibility scoring · Chrome for Developers (Google) · accessed October 2026
  11. WCAG 2.2 · W3C · 5 October 2023 (current version)
  12. About NVDA · NV Access · accessed October 2026
  13. VoiceOver User Guide for Mac · Apple · accessed October 2026
  14. ADA Web Lawsuit Trends for 2026: What 2025 Filings Reveal · UsableNet · 8 January 2026
  15. FTC Approves Final Order Requiring accessiBe to Pay $1 Million · US Federal Trade Commission (FTC) · 22 April 2025

Related articles

Start with step 2.

Enter your URL. We scan your templates with axe-core, group the findings by template and severity, and add a manual checklist for steps 3–6 to your report.