Key facts
- Current standard
- WCAG 2.2, a W3C Recommendation since 5 October 2023
- Success criteria in WCAG 2.2
- 86 (55 at Level A and AA, the usual legal and contract target)
- Pages with detected failures
- 95.9% of the top one million home pages (WebAIM Million, 2026)
- Most common failure
- Low-contrast text, on 83.9% of those home pages
- Share of issues automation finds
- About 57% of issues by volume in Deque's study of real audits
- Engine used here
- axe-core plus AccessibilityScore.in rules for focus visibility, target size, names, language and titles
- Price
- Free for a single public HTTPS page
What does a WCAG checker test?
A WCAG checker loads the rendered page, inspects the DOM, computed styles and accessibility tree, and runs rules that each map to one or more WCAG success criteria. A rule passes or fails only when the answer can be decided from the code.
AccessibilityScore.in runs axe-core in a real Chromium browser after the page has loaded and settled, so content added by JavaScript is tested too. On top of axe-core it runs its own rules for visible focus (2.4.7), target size (2.5.8), accessible names, page language and page title. Typical failures it catches:
- Text and background colours below the 4.5:1 contrast ratio (1.4.3)
- Images, buttons and links with no accessible name (1.1.1, 4.1.2, 2.4.4)
- Form fields with no label (1.3.1, 3.3.2)
- Invalid or misused ARIA roles, states and properties (4.1.2)
- Missing page language or page title (3.1.1, 2.4.2)
- Duplicate IDs referenced by labels and ARIA (1.3.1)
What can an automated WCAG checker not decide?
Many success criteria depend on meaning and behaviour, not markup. A tool can see that an image has alt text, but not whether the text describes the image. It can see a focus style, but not whether focus moves in a logical order through a checkout.
When a check runs but cannot decide, AccessibilityScore.in reports it as Needs review rather than dropping it or calling it a failure. Treat those items as a to-do list for manual testing. These questions always need a person:
- Whether alt text, link text and headings are meaningful (1.1.1, 2.4.4, 2.4.6)
- Keyboard operation of whole tasks and the absence of keyboard traps (2.1.1, 2.1.2)
- Logical focus order and reading order (2.4.3, 1.3.2)
- Captions and audio description for video (1.2.x)
- Error identification and suggestions in real form flows (3.3.1, 3.3.3)
- How a screen reader announces dynamic changes (4.1.3)
How is the accessibility score calculated?
The score starts at 100 and deducts 8 points for each failing rule rated critical, 4 for serious, 2 for moderate and 1 for minor, with a floor of zero. A rule that fails on 40 elements costs the same as one that fails on one element, so the score tracks how many kinds of problem a page has; the affected-element counts show how widespread each one is.
A score of 100 means no automated rule failed. It does not mean the page conforms to WCAG, because the criteria that need human judgment were not tested.
How should you use WCAG checker results?
Use the report as triage. Automated findings are cheap to confirm and usually cheap to fix, and fixing them first stops a manual auditor spending paid hours on missing labels and contrast.
- Fix critical and serious findings first; they usually block a task outright.
- Fix at the template or component level so one change clears every page that uses it.
- Re-scan to confirm the fix, then work through the Needs review items by hand.
- Test the top user journeys (sign-up, search, checkout, contact) with a keyboard and a screen reader.
- Before claiming conformance, run a full WCAG 2.2 evaluation such as the W3C WCAG-EM method.
Which WCAG version and level should you test against?
Test against WCAG 2.2 Level AA unless a contract or law names another version. Level AA is the level referenced by most laws and procurement rules, including the EU's EN 301 549 and the US Department of Justice's 2024 ADA Title II rule (which names WCAG 2.1 AA). Because WCAG 2.2 keeps every 2.1 criterion except the obsolete 4.1.1 Parsing, a page that meets 2.2 AA also meets 2.1 AA.