WCAG Compliance Checkby Agent Trust Cloud

How the WCAG checker works

The checker parses your HTML with the browser's own parser, without running its scripts or loading anything it links to, and applies 40 rules. Each rule tests part of one or more WCAG 2.2 success criteria.

The rules

RuleSuccess criteriaResult
Page has no language3.1.1 Language of Page (A)Failure
Page language is not a valid language tag3.1.1 Language of Page (A)Failure
Language of a part is not a valid language tag3.1.2 Language of Parts (AA)Failure
Page has no title2.4.2 Page Titled (A)Failure
Image has no alt attribute1.1.1 Non-text Content (A)Failure
Image alt text looks like a file name or placeholder1.1.1 Non-text Content (A)Review
Image button has no text alternative1.1.1 Non-text Content (A); 4.1.2 Name, Role, Value (A)Failure
Image map area has no text alternative1.1.1 Non-text Content (A); 2.4.4 Link Purpose (In Context) (A)Failure
SVG marked as an image has no name1.1.1 Non-text Content (A)Failure
Form field has no label4.1.2 Name, Role, Value (A); 3.3.2 Labels or Instructions (A)Failure
Form field is labelled only by its placeholder3.3.2 Labels or Instructions (A)Review
Select or text area has no label4.1.2 Name, Role, Value (A); 3.3.2 Labels or Instructions (A)Failure
Button has no accessible name4.1.2 Name, Role, Value (A)Failure
Link has no accessible name2.4.4 Link Purpose (In Context) (A); 4.1.2 Name, Role, Value (A)Failure
Link text is generic2.4.4 Link Purpose (In Context) (A)Review
Accessible name doesn't contain the visible label2.5.3 Label in Name (A)Failure
Frame has no accessible name4.1.2 Name, Role, Value (A)Failure
Unknown ARIA role4.1.2 Name, Role, Value (A)Failure
Focusable element hidden from assistive technology4.1.2 Name, Role, Value (A)Failure
Whole page hidden from assistive technology4.1.2 Name, Role, Value (A)Failure
Label or ARIA reference points to a duplicated id4.1.2 Name, Role, Value (A); 1.3.1 Info and Relationships (A)Failure
Label or ARIA reference points to an id that doesn't exist1.3.1 Info and Relationships (A); 4.1.2 Name, Role, Value (A)Failure
Duplicate id4.1.2 Name, Role, Value (A)Review
Zoom is disabled1.4.4 Resize Text (AA)Failure
Page refreshes or redirects on a timer2.2.1 Timing Adjustable (A)Failure
Blinking or scrolling element2.2.2 Pause, Stop, Hide (A)Failure
Media plays automatically with sound1.4.2 Audio Control (A)Review
Video has no captions track1.2.2 Captions (Prerecorded) (A)Review
Heading has no text1.3.1 Info and Relationships (A); 2.4.6 Headings and Labels (AA)Review
Heading level skipped1.3.1 Info and Relationships (A)Review
List item outside a list1.3.1 Info and Relationships (A)Failure
Data table has no header cells1.3.1 Info and Relationships (A)Review
No way to skip repeated content2.4.1 Bypass Blocks (A)Failure
Positive tabindex changes the focus order2.4.3 Focus Order (A)Review
Focus outline removed2.4.7 Focus Visible (AA)Review
Invalid autocomplete value1.3.5 Identify Input Purpose (AA)Failure
Password field may block paste or password managers3.3.8 Accessible Authentication (Minimum) (AA)Review
Click target smaller than 24 by 24 pixels2.5.8 Target Size (Minimum) (AA)Review
Drag-only interaction2.5.7 Dragging Movements (AA)Review
Text contrast below the minimum1.4.3 Contrast (Minimum) (AA)Failure

"Failure" means the markup fails the criterion as written. "Review" means a likely problem that a person has to confirm: a skipped heading level, generic link text or a video without a captions track can all be fine in context.

Colour contrast

Without the page's stylesheets, the only colours known for certain are those set on the elements themselves (style attributes, or legacy color and bgcolor attributes). Where both the text and background colour are known, the checker computes the WCAG contrast ratio exactly and applies 4.5:1, or 3:1 for large text (at least 24 px, or 18.66 px bold).

What automated checks can't find

Whether alt text is accurate, whether the keyboard order makes sense, whether captions match the audio, whether error messages help, whether focus is hidden behind a sticky header: these need a person. W3C's evaluation resources explain how to combine tools with manual review (W3C WAI, Evaluating Web Accessibility). That is why the result page has the guided checklist.

Privacy

Everything runs on the page. The site's content security policy allows no outgoing connections at all (connect-src 'none'), so the HTML you paste can't be uploaded, and the checker never fetches URLs.

Check your HTML

Sources