WCAG Compliance Checkby Agent Trust Cloud

WCAG compliance check: test your HTML against WCAG 2.2 AA

Paste a page's HTML or open an .html file. 40 automated checks look for missing alt text, unlabelled fields, empty links and buttons, heading problems, missing page language and title, broken ARIA, blocked zoom and low contrast, and each finding cites the exact WCAG 2.2 success criterion. A guided checklist covers all 55 Level A and AA criteria.

Nothing leaves your browser. The check runs on this page, which is blocked from making any network request, and the HTML you paste is never run. Automated checks find only part of the accessibility issues; they are not an audit or a conformance claim.

Check your HTML

Guided manual checklist: all 55 WCAG 2.2 A and AA criteria

Most success criteria need a person to judge them. Work through each one, mark it, and the downloaded report includes your answers. After an automated check, criteria with automated findings are flagged here.

1. Perceivable

Every image, icon and control has a text alternative that serves the same purpose; decorative images are hidden from assistive technology.

Recorded audio-only content has a transcript; recorded video-only content has a transcript or audio track.

Recorded videos with sound have accurate, synchronised captions.

Recorded videos have audio description or a full text alternative for visual information.

Live video with sound (webinars, streams) has live captions.

Recorded videos have audio description of important visual information not conveyed in the soundtrack.

Headings, lists, tables, form labels and groups are marked up so their structure is available to assistive technology.

With styles off or at narrow widths, content still reads in a sensible order.

Instructions don't rely only on shape, colour, size, position or sound ("click the round button on the right").

The page works in both portrait and landscape unless one orientation is essential.

Fields asking for the user's own data (name, email, address, phone) carry the right autocomplete value.

Colour is never the only way information is shown: links in text, errors and chart series have another cue.

Audio that plays automatically for more than 3 seconds can be paused or muted.

Text has a contrast ratio of at least 4.5:1, or 3:1 for large text, against its background.

Zooming text to 200% loses no content or function; pinch zoom is not blocked.

Text is real text, not pictures of text, except logos or where the presentation is essential.

At 320 CSS px wide (400% zoom) content reflows with no two-way scrolling, except for maps, tables and similar.

Control borders, focus indicators and meaningful graphics have at least 3:1 contrast against adjacent colours.

Increasing line height, paragraph, letter and word spacing to the WCAG values loses no content.

Tooltips and pop-ups shown on hover or focus can be dismissed, hovered and stay until dismissed.

2. Operable

Everything can be done with the keyboard alone, with no specific timing.

Focus can always be moved away from any component with the keyboard.

Single-key shortcuts can be turned off, remapped, or work only when the component has focus.

Time limits can be turned off, adjusted or extended, and pages don't refresh or redirect on a timer.

Moving, blinking, scrolling or auto-updating content that lasts over 5 seconds can be paused, stopped or hidden.

Nothing flashes more than three times in any one second.

There is a skip link, landmarks or headings that let users bypass repeated navigation.

Each page has a title that describes its topic or purpose.

Tabbing moves through the page in an order that keeps meaning and operation intact.

Each link's purpose is clear from its text, or from its text together with its sentence, list item or table cell.

There is more than one way to find a page in a set: navigation, search, sitemap or links.

Headings and labels describe the topic or purpose of the content they introduce.

The keyboard focus is always visible.

A focused component is never entirely hidden by sticky headers, footers, cookie banners or other content.

Anything done with a multi-point or path gesture (pinch, swipe) can also be done with a single tap or click.

Actions fire on release (up event), or can be aborted or undone.

A control's accessible name contains the text visibly shown on it.

Anything triggered by shaking or tilting the device can also be done with a control, and motion can be turned off.

Anything done by dragging (sliders, reordering, maps) can also be done with single clicks or taps.

Click and tap targets are at least 24 by 24 CSS pixels, or have enough spacing, unless an exception applies.

3. Understandable

The page's main language is set in the html lang attribute.

Passages in another language are marked with their own lang attribute.

Moving focus to a component doesn't open a new window, submit a form or move focus elsewhere.

Changing a setting (select, checkbox, radio) doesn't cause an unexpected change of context without warning.

Navigation repeated across pages appears in the same relative order.

Components with the same function are labelled the same way across pages.

Help options (contact details, chat, FAQ link) appear in the same relative place on every page that has them.

Input errors are detected, the field is identified and the error is described in text.

Fields have visible labels or instructions, including required formats.

When an error is detected and a fix is known, the fix is suggested in text.

Legal, financial or data-changing submissions can be reversed, are checked, or are confirmed before final submission.

Information already entered in the same process is filled in or selectable, not asked for again.

Logging in doesn't require a cognitive test (remembering, transcribing, puzzles) unless an alternative or aid exists; paste and password managers work.

4. Robust

Custom controls expose a name, role, state and value to assistive technology.

Status messages (results, errors, progress) are announced by screen readers without moving focus.

What it checks automatically

The 40 rules cover parts of 23 success criteria: 1.1.1, 1.2.2, 1.3.1, 1.3.5, 1.4.2, 1.4.3, 1.4.4, 2.2.1, 2.2.2, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.4.6, 2.4.7, 2.5.3, 2.5.7, 2.5.8, 3.1.1, 3.1.2, 3.3.2, 3.3.8, 4.1.2. Every rule, its criterion and whether it is a failure or a review item is listed on how the checker works. For the full list of criteria, see the WCAG 2.2 AA checklist; for the legal side, ADA Title II, Section 508 and the European Accessibility Act; for versions, WCAG 2.2 and WCAG 2.1 AA.

Questions

Does this checker send my HTML anywhere?

No. The HTML is parsed and checked on this page. The page's security policy blocks every outgoing request (connect-src 'none'), the pasted HTML's own scripts never run, and nothing it links to is loaded. Nothing is stored after you close the tab.

Why paste HTML instead of entering a URL?

Fetching a URL would mean sending it through a server. Pasting the page source (or saving the page as .html and opening it here) keeps everything in your browser, and works for pages behind a login or not yet published.

Can an automated check prove WCAG compliance?

No. Automated checks find only part of the accessibility issues. Many WCAG 2.2 success criteria need a person: whether alt text is meaningful, whether the page works with a keyboard, whether captions are accurate. Use the guided checklist of all 55 Level A and AA criteria for those.

Which WCAG version and level does it check?

WCAG 2.2, Level A and AA: 31 Level A and 24 Level AA success criteria (4.1.1 Parsing was removed in 2.2). Each finding names the success criterion number and level, linked to W3C's Understanding document.

Why does it only check contrast set inline?

Without rendering the page with its stylesheets, the only colours it can know for sure are the ones written on the elements themselves. It checks those exactly against 4.5:1 and 3:1; check the rest with the manual checklist.

Sources