HTML Accessibility Checker
The Accessibility Checker analyzes the HTML code you paste for a set of common, well-documented accessibility problems: images missing an alt attribute, form fields with no associated label (no <label> or aria-label), heading levels that skip (e.g. jumping from h1 straight to h3), empty links or buttons with no accessible name, duplicate id attributes that break internal references, positive tabindex values that override the natural tab order, and vague link text like "click here." This isn't a substitute for a full WCAG audit with a dedicated tool, but it catches the most common, easiest-to-fix issues. All checking happens in your browser — no code is ever uploaded to a server.
The code is checked entirely in your browser and is never sent to a server.
This tool checks for a set of common issues (missing alt text, unlabeled fields, heading order, empty links, duplicate ids...) — it isn't a substitute for a full WCAG audit with a dedicated tool.
The result will appear here after clicking "Check"
What this tool does
Checks HTML for common accessibility problems — a missing page language, missing image alt text, duplicate ids, generic link text — classified as errors or warnings with a code snippet for each.
When to use it
- Reviewing a page before publishing and wanting the obvious problems caught.
- Learning accessibility basics against your own markup.
- Checking a template or component before adopting it.
- Producing a quick list of fixes for an existing page.
How to use it
- Paste your HTML into the field.
- Click "Check".
- Read the issues: each has a severity, a message explaining the fix, and a code snippet.
A practical example
Input
A page with an image lacking alt text and a link reading "click here".
Output
Two issues: an error for the missing alt text, explaining when an empty one is correct for decorative images, and a warning that the link text does not describe its destination.
Limitations
- This is automated checking of static markup and catches the problems that can be caught that way — which is part of accessibility, not all of it. Real colour contrast, keyboard tab order and screen-reader logic all need a human.
- A page with no issues here is not necessarily accessible.
- Markup generated by JavaScript after load is not checked, because the tool reads only what you paste.
Privacy and processing
The code is checked entirely in your browser and is never sent to a server.
Technical notes
- The check operates on the text and never renders or executes any of the page.
Frequently Asked Questions
No — it checks a set of common, well-documented issues (alt text, form labels, heading order, empty links, duplicate ids, tabindex, and link text) and isn't a substitute for a comprehensive WCAG audit tool like axe or Lighthouse.