Skip to main content

Cloudsoft Zone Build, deploy and scale with practical guides to PHP, Node.js, React, DevOps and AI automation. Explore the guides

Cloudsoft Zone
ResourcesResource guide

Free accessibility testing tools and a 30-minute WCAG 2.2 check

The free, maintained accessibility tools worth installing in 2026, from WAVE and axe to NVDA, plus a 30-minute WCAG 2.2 release check and an axe-core script.

Cloudsoft Zone

8 min read

A portable Pronto braille notetaker with a row of 18 refreshable braille cells and eight input keys, in a black carrying case on a red surface
Photograph: Gulundin / CC BY-SA 4.0, via Wikimedia Commons
In this article

Most accessibility failures on the web are not exotic. They are missing labels, empty buttons, images without text alternatives and low-contrast text, and free tools find them in minutes. This guide lists the free, maintained tools we checked on 9 October 2026, explains what each one is good at, and gives you a 30-minute routine that combines automated scans with the manual checks no scanner can do.

It is written for developers, founders and small teams who want to meet WCAG 2.2 Level AA without buying an enterprise platform first. You will finish with a short list of tools to install, a repeatable check for every release, and a small Node.js script that runs axe-core in your test suite.

Close-up of a refreshable braille display in front of a computer keyboard, with raised white pins forming braille characters
A refreshable braille display raises pins to form characters. If a button has no accessible name, there is nothing for it to show.

Why automated tools are a start, not a finish

The WebAIM Million, an annual automated scan of the home pages of the top one million websites, is the clearest picture of where the web stands. Its 2026 report (February 2026 data) detected WCAG 2 failures on 95.9% of home pages, with an average of 56.1 detected errors per page. The six most common failure types were:

Failure typeShare of home pages
Low contrast text83.9%
Missing alternative text for images53.1%
Missing form input labels51%
Empty links46.3%
Empty buttons30.6%
Missing document language13.5%

Every item in that table can be found automatically, which is good news. The limit is just as important: Deque, which maintains the open-source axe-core engine, says axe-core finds on average 57% of WCAG issues automatically. The rest, such as whether alt text is meaningful, whether focus order makes sense or whether an error message is announced, needs a person with a keyboard and a screen reader.

The free toolkit at a glance

ToolTypeCostBest for
WAVE extension (WebAIM)Browser extension for Chrome, Firefox and EdgeFreeVisual, in-page view of errors, structure and contrast
axe DevTools extension (Deque)Browser extension for Chrome, Edge and FirefoxFree tier; Pro is paidFast automated scan of one page with clear fix guidance
Accessibility Insights for Web (Microsoft)Extension for Chrome and Edge, MIT-licensedFree, open sourceFastPass automated checks plus guided manual tests such as tab stops
LighthouseBuilt into Chrome DevTools, also an npm CLIFree, Apache-2.0A quick accessibility score alongside performance and SEO
axe-coreJavaScript library, MPL-2.0Free, open sourceAutomated checks inside unit, integration and end-to-end tests
Pa11yCommand-line tool, LGPL-3.0Free, open sourceScanning a list of URLs from the terminal or CI
NVDAScreen reader for WindowsFree, open sourceHearing what a blind user hears
VoiceOverScreen reader built into macOS and iOSIncluded with the deviceScreen reader testing on Apple devices and Safari
WebAIM Contrast CheckerWeb pageFreeChecking a colour pair against WCAG contrast ratios

Browser extensions: find problems on the page you are looking at

WAVE: see the problems in context

WAVE, from WebAIM, overlays icons on the page itself, so you see exactly which image lacks alt text and which heading level was skipped. WebAIM says the extension runs entirely in the browser and no information is sent to the WAVE server, which makes it safe for staging sites, intranets and pages behind a login. Why this resource: it is the friendliest way to show a designer or content editor what is wrong, because the issues sit on top of the design they recognise.

axe DevTools: the same engine your tests can use

The axe DevTools extension is free for automated testing. Deque's FAQ is explicit about the boundary: the free extension provides only automated testing, one page at a time, while guided tests, AI-assisted features and advanced reporting are part of the paid Pro tier (with a 14-day trial). Why this resource: the free extension uses axe-core, the same rules you can run in CI, so a result in the browser matches a result in your pipeline.

Accessibility Insights for Web: automated checks plus guided manual tests

Accessibility Insights for Web is a Microsoft extension for Chrome and Edge, open source under the MIT licence and still actively developed in October 2026. Its FastPass mode is designed to catch common, high-impact issues in under five minutes, and it includes a visual tab-stops check that draws the keyboard path across the page. Why this resource: it turns manual keyboard testing into a guided step rather than something people skip.

A laptop showing a conference programme web page, standing on a 40-cell braille display, with headphones plugged in beside it
A laptop with a braille display and headphones at a universal learning design conference in Brno: the setup a manual screen reader test tries to understand.

Built-in and command-line tools

Lighthouse in Chrome DevTools

Open DevTools, choose the Lighthouse panel and run the Accessibility category. Google's documentation describes the score as a weighted average of the accessibility audits, weighted by axe user-impact assessments, and each audit is pass or fail with no partial credit. Why this resource: it is already installed for anyone using Chrome. Treat a score of 100 as "no automated failures found", not "accessible".

axe-core in your own tests

axe-core is the open-source engine (MPL-2.0) behind many of these tools. Its rules cover WCAG 2.0, 2.1 and 2.2 at levels A, AA and AAA, plus best practices, and version 4.14.0 was published on npm on 5 October 2026. You can run it against rendered HTML in Node.js with jsdom. This script is a minimal check you can adapt for components or server-rendered pages:

JavaScript
// a11y-check.mjs: npm install axe-core jsdom
import { JSDOM } from 'jsdom';
import { readFileSync } from 'node:fs';

const html = `<!doctype html><html><head><title>Sign up</title></head>
<body><main>
  <img src="hero.png">
  <form><input type="email" name="email"><button></button></form>
  <a href="/pricing"></a>
</main></body></html>`;

const dom = new JSDOM(html, { runScripts: 'outside-only' });
dom.window.eval(readFileSync('node_modules/axe-core/axe.min.js', 'utf8'));

const result = await dom.window.axe.run(dom.window.document, {
  runOnly: { type: 'tag', values: ['wcag2a', 'wcag2aa', 'wcag22aa'] },
  // jsdom does not render, so colour contrast cannot be measured here
  rules: { 'color-contrast': { enabled: false } },
});

for (const v of result.violations) {
  console.log(`${v.id} (${v.impact}): ${v.nodes.length} element(s)`);
}
process.exitCode = result.violations.length ? 1 : 0;

When we ran it with Node.js 24 and axe-core 4.14.0, it reported five violations: button-name, html-has-lang, image-alt, label and link-name. That is five of the six most common failures in the WebAIM Million, caught before the page ships. For contrast, run axe in a real browser instead, for example through Playwright or the browser extension.

Pa11y for a list of URLs

Pa11y is a free command-line tool (version 10.0.0 was published in August 2026) that loads pages in a headless browser and reports issues. Why this resource: it suits sites without a JavaScript test suite, such as WordPress or Laravel Blade sites, because you only need a list of URLs. Pa11y CI, a separate package from the same project, runs it against many URLs in a pipeline.

Manual testing: the part no scanner can do

Screen readers

  • NVDA is a free, open-source screen reader for Windows from NV Access. Pair it with Firefox or Chrome.
  • VoiceOver is built into macOS and iOS. On a Mac, Command + F5 turns it on and off. Test with Safari, the combination most VoiceOver users have.

You do not need to be an expert. Listen to a sign-up form: does each field announce its label, does the error message get read out, and can you reach the submit button?

The keyboard-only check

Unplug the mouse, or simply do not touch it, and use Tab, Shift + Tab, Enter, Space and the arrow keys. Every interactive element should be reachable, the focus indicator should be visible, and nothing should trap focus. WCAG 2.2 added success criteria that make this stricter, including Focus Not Obscured (2.4.11, AA), which requires that a focused element is not entirely hidden by content such as sticky headers or cookie banners.

Reference material worth bookmarking

A 30-minute accessibility check for every release

  1. Automated scan (5 minutes): run axe DevTools or WAVE on the three most important templates, such as home, a content page and a form.
  2. Fix the obvious (10 minutes): missing labels, alt text, empty links and buttons, document language and contrast.
  3. Keyboard pass (5 minutes): tab through the main journey; confirm visible focus and no traps.
  4. Screen reader pass (5 minutes): listen to the main form and one content page with NVDA or VoiceOver.
  5. Zoom and small screens (5 minutes): zoom the browser to 200% and narrow the window to 320 CSS pixels; content should reflow without horizontal scrolling.

How to choose: what to install first

  • Solo developer or founder: WAVE plus the free axe DevTools extension, and a keyboard pass before each release.
  • Team with a JavaScript test suite: add axe-core to component or end-to-end tests so regressions fail the build.
  • Content-heavy site (WordPress, Laravel, static): Pa11y against a list of key URLs in CI, plus WAVE for editors.
  • Before a public launch or procurement review: do a full manual pass with Accessibility Insights' guided tests and a real screen reader, or bring in a specialist auditor.

Automated tools will not make a site accessible on their own, but they remove the most common failures cheaply. Put one scanner in the browser, one in CI and a short manual pass in your release checklist, and you will be ahead of most of the web.

Frequently asked questions

  • Can an automated tool tell me my site meets WCAG 2.2?

    No. Deque says axe-core finds on average 57% of WCAG issues automatically. Keyboard behaviour, meaningful alt text and screen reader announcements need manual testing.

  • Is the axe DevTools browser extension free?

    Yes, for automated testing of one page at a time. Guided tests, AI-assisted features and advanced reporting are in the paid Pro tier.

  • Does WAVE send my page to WebAIM?

    WebAIM says the WAVE extension runs entirely in the browser and sends no information to the WAVE server, so it works on staging and logged-in pages.

  • Which screen reader should I test with?

    NVDA on Windows is free and open source; VoiceOver is built into macOS and iOS. Testing with one of them is far better than testing with none.

  • What is the most common accessibility failure?

    Low-contrast text. The WebAIM Million 2026 found it on 83.9% of the home pages it scanned.

  • Why disable colour-contrast when running axe-core in jsdom?

    jsdom does not render pages, so it cannot measure colours reliably. Run contrast checks in a real browser through the extension or a browser-based test.

Advertise on CloudSoftZone

Your next customer could start right here.

Introduce your tool, product or business to readers exploring technology.

Advertise with us

Explore placements and request a private quote

Sources

  1. The WebAIM Million: 2026 report — WebAIM, 2026-03-30
  2. WAVE browser extensions — WebAIM
  3. Axe DevTools browser extensions — Deque Systems
  4. axe-core repository — Deque Systems
  5. Lighthouse accessibility scoring — Chrome for Developers
  6. Accessibility Insights — Microsoft
  7. Web Content Accessibility Guidelines (WCAG) 2.2 — W3C, 2024-12-12

Comments

No comments yet. Be the first to join the conversation.

Leave a comment

Every comment is read by a moderator before it appears. Your email address is never published; it is used only to contact you about this comment.

Never published. Used only to contact you about this comment.

Loading the security check…

Comments are moderated before publication.