UI/UX Design Basics for MarketersAccessibility essentials (WCAG basics) · Lesson 18 of 21

Testing accessibility with tools and assistive technology

Article · 10 min · 8 min lecture

Video lecture

Testing accessibility with tools and assistive technology

12 chapters · about 8 min · full transcript

Coming soon

Chapter 1 of 12

Testing accessibility

  • Zero errors in the scan…
  • …but the booking flow fails
  • Four layers of testing
  • Automate, then go manual

The narrated lecture is in production

Every chapter is scripted and ready. Browse the chapters and read the full transcript now — the video will appear here when it’s published.

Chapters

Automated tools catch some issues, not all

Automated accessibility checkers are fast and useful, but they detect only a portion of WCAG issues — often cited as a minority. They can't judge whether alt text is meaningful, whether headings make sense, or whether a flow is understandable. Combine automated, manual and user testing.

Layer 1: automated checks

Tools include browser extensions and built-in audits (for example, Lighthouse in Chrome DevTools, axe-based extensions, WAVE). They flag issues like:

  • Missing alt attributes.
  • Low contrast text.
  • Missing form labels.
  • Empty links or buttons.
  • Incorrect ARIA usage.
  • Missing page language.

Run them on key templates and pages, and after major changes.

Layer 2: manual checks anyone can do

Keyboard test (10 minutes):

  1. Put the mouse aside.
  2. Press Tab from the top of the page. Can you see where focus is at every step?
  3. Can you reach and operate every link, button, menu, form field, accordion and modal?
  4. Is the focus order logical?
  5. Can you close pop-ups with Escape and return to where you were?
  6. Is focus ever hidden behind sticky elements?

Zoom and reflow test:

  • Zoom the browser to 200% and 400%. Does content reflow into a single column without horizontal scrolling (except for things like data tables)? Is anything cut off?

Contrast spot-check: use a color picker/contrast tool on text over images and buttons.

Content review: are headings logical? Is alt text meaningful? Is language plain?

Motion check: turn on your device's "reduce motion" setting — do animations calm down?

Layer 3: screen reader basics

Screen readers read the page aloud and let users navigate by headings, links, landmarks and form fields. Free or built-in options include:

  • VoiceOver (built into Apple devices).
  • TalkBack (built into Android).
  • NVDA (free for Windows); Narrator (built into Windows).

A basic screen-reader test:

  1. Turn on the screen reader and listen to the page from the top.
  2. Navigate by headings — do they outline the page?
  3. Navigate by links — are they descriptive out of context?
  4. Complete the main form — are labels, errors and confirmation announced?
  5. Check that images have sensible descriptions and decorative images are skipped.

It feels awkward at first; even basic familiarity reveals major issues. Remember that experienced screen-reader users navigate much faster and differently than beginners.

Layer 4: testing with disabled users

Nothing replaces feedback from people who use assistive technology daily. Options:

  • Include disabled participants in usability tests (recruit through disability organizations or specialist recruitment services; pay participants fairly).
  • Ask for feedback via an accessibility statement with a contact method.
  • Commission expert audits for major launches or regulated contexts.

Accessibility statement

An accessibility statement explains your commitment, the standard you aim for (e.g. WCAG 2.2 AA), known limitations, and how to contact you for help or to report problems. It's required for some public-sector sites and good practice for everyone.

Building accessibility into the workflow

Where accessibility fits
Brief:        Include WCAG 2.2 AA as a requirement
Design:       Contrast, target size, focus states, heading structure in wireframes
Content:      Alt text, captions, plain language, link text
Build:        Semantic HTML, labels, keyboard support
QA:           Automated scan + keyboard test + screen-reader smoke test
Launch:       Accessibility statement updated
Ongoing:      Monitor feedback; re-test templates after changes

Worked example: a booking widget

An automated scan shows zero errors. A keyboard test reveals the date picker can't be operated without a mouse, and focus disappears when the booking modal opens. A screen-reader test finds the time slots are announced only as "button". Fixes: keyboard-operable date picker (or a simple date input alternative), focus moved into the modal and trapped, accessible names like "Book 3:00 p.m. Thursday, June 12". A disabled tester later confirms the flow works.

Common mistakes

  • Treating a clean automated scan as proof of accessibility.
  • Never testing with a keyboard.
  • Using third-party widgets (chat, booking, cookie banners) without checking their accessibility.
  • No way for users to report problems.

Hands-on: automate a first-pass scan with axe-core and Playwright

If your team has a developer or a technical marketer, you can add an automated accessibility scan to your launch checklist. This uses the open-source axe-core engine through its Playwright integration. It catches common, detectable issues; it does not prove a page is accessible.

npm init -y
npm install --save-dev @playwright/test @axe-core/playwright
npx playwright install chromium
// a11y.spec.js — run with: npx playwright test a11y.spec.js
const { test, expect } = require('@playwright/test');
const AxeBuilder = require('@axe-core/playwright').default;

const PAGES = (process.env.A11Y_URLS || 'https://example.com/').split(',');

for (const url of PAGES) {
  test(`axe scan: ${url}`, async ({ page }) => {
    await page.goto(url, { waitUntil: 'networkidle' });
    const results = await new AxeBuilder({ page })
      .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22aa'])
      .analyze();
    for (const v of results.violations) {
      console.log(`${v.impact} | ${v.id} | ${v.help} | ${v.nodes.length} element(s)`);
    }
    expect(results.violations).toEqual([]);
  });
}

Set the pages to check with an environment variable, for example A11Y_URLS=https://example.com/,https://example.com/pricing npx playwright test a11y.spec.js. Treat failures as a to-do list, then continue with the manual layers below.

No-code alternatives: the axe DevTools and WAVE browser extensions, and the Accessibility section of a Lighthouse report in Chrome DevTools.

Screen reader quick-reference for a first test

Screen readerTurn on/offRead next itemJump by heading
VoiceOver (macOS)Cmd + F5VO + Right Arrow (VO = Ctrl + Option)Rotor: VO + U, then choose Headings
VoiceOver (iPhone)Settings → Accessibility → VoiceOver (or triple-click the side button if set as a shortcut)Swipe rightRotor gesture, then swipe down
TalkBack (Android)Settings → Accessibility → TalkBack (or volume-key shortcut if enabled)Swipe rightReading controls, then swipe
NVDA (Windows)Ctrl + Alt + N (if the desktop shortcut is enabled)Down ArrowH
Narrator (Windows)Ctrl + Win + EnterCaps Lock + Right ArrowH

Shortcuts can vary with versions and settings; check the vendor's current help pages if a shortcut doesn't respond.

An accessibility statement template

Accessibility statement for [site]
We aim to meet WCAG 2.2 Level AA. Last reviewed: [month year].
How we test: automated scans, manual keyboard and zoom checks, screen-reader testing, and feedback from users.
Known limitations: [e.g., older PDF brochures are not fully accessible; accessible versions on request].
Contact: [email/phone/WhatsApp]; we aim to respond within [n] working days.
If you're not happy with our response: [escalation route, and any regulator where applicable].

How to measure success

Track automated violations per key template (trend toward zero on new pages), keyboard and screen-reader task success in your manual tests, the number of issues found by disabled testers, and response times to accessibility feedback.

Summary

Layer automated scans, manual keyboard, zoom and content checks, basic screen-reader tests and testing with disabled users. Publish an accessibility statement and build checks into every stage of your workflow.

Key takeaways

  • Automated tools catch only a portion of issues — combine with manual and user testing.
  • A 10-minute keyboard test reveals many serious barriers.
  • Built-in screen readers (VoiceOver, TalkBack, Narrator) and free NVDA enable basic testing.
  • Include disabled users in testing and publish an accessibility statement with contact details.

Check your understanding

Quick questions to lock in the lesson. They don’t count towards your certificate.

  1. An automated scan reports zero accessibility errors. What can you conclude?
  2. What is the first step of a keyboard accessibility test?
  3. What should an accessibility statement include?

Put it into practice

Do a keyboard test and a 200% zoom test on your key page, then try one task with your phone's built-in screen reader. Record three issues and draft a short accessibility statement.

Enrol for free to save your progress

Reading is always free. Enrol to keep your place, take the final assessment and earn a verifiable certificate.