Skip to content
Tezmy Tools

HTML Accessibility Checker

Paste HTML and get a list of accessibility problems with the WCAG rule for each

5 errors, 4 warnings. Checked 2 images, 2 links, 1 form field, 1 button and 2 headings.

Runs in your browser. Nothing is uploaded.

About the HTML Accessibility Checker

HTML Accessibility Checker reads the HTML you paste and lists the common problems that make a page hard to use with a screen reader or a keyboard. It looks for images without alt text, form fields without labels, links and buttons with no name, skipped heading levels, a missing page language or title, duplicate ids, frames without titles, tables without headers and several other WCAG issues. Each finding names the rule, the WCAG success criterion and the piece of code. The page is analysed in your browser, so your code is not uploaded.

Updated October 2026

How to use the HTML Accessibility Checker

  1. 1Copy the HTML of your page or a part of it, for example from View Source or your editor.
  2. 2Paste it into the box. The sample shows what a report looks like.
  3. 3Read the errors first, then the warnings. Each has a WCAG number and a snippet.
  4. 4Fix the problems in your code and paste it again to re-check.
  5. 5Copy or download the report to share with your team.

What is checked and why it matters

People who use screen readers, keyboards, voice control or magnifiers depend on the structure of your HTML. A missing alt attribute means a picture is announced by its file name. A field without a label is announced as just "edit text". A link with no text is announced as "link", and nothing more. Those are the failures that are easy for a tool to find, and often the quickest to fix.

Errors and warnings

Errors are problems that nearly always stop someone from using the page, such as a button with no name. Warnings are things that are often wrong but sometimes deliberate, such as a skipped heading level or a table without header cells that is used only for layout. Fix every error, then read the warnings and decide.

  • Missing alt, labels and names: add text a screen reader can read
  • Duplicate ids: make each id unique
  • Skipped headings: step down one level at a time
  • Zoom blocked: remove user-scalable=no

Quick fixes that help many people

Add a language to the html tag, give every input a label, give icon buttons an aria-label, and use real buttons and links instead of clickable divs. Use alt text that says what the picture is for in context, not "image of". Keep one h1 and use headings in order. These changes help people with disabilities, and they also tend to improve search results and make a page easier to maintain.

What still needs a person

After the tool is clean, try the page with the keyboard alone: can you reach every control with Tab, see where you are, and use everything without a mouse? Zoom to 200 percent and check that nothing is cut off. Try a screen reader such as NVDA, VoiceOver or TalkBack for the main tasks. Check the colours with the Color Contrast Checker.

Related page checks

The HTML Headings Checker shows the full outline of your headings, and the HTML SEO Checker looks at titles, descriptions and tags that help search engines. The HTML Link Analyzer lists every link on the page, which is useful when you need to find vague or broken link text.

Features

  • Checks images, links, buttons, form fields and headings
  • Finds missing language, title and main landmark on full pages
  • Catches duplicate ids, positive tabindex and blocked zoom
  • Each finding includes a WCAG success criterion and a code snippet
  • Errors listed before warnings
  • Works on a full page or a small fragment

Frequently asked questions

Does this make my site WCAG compliant?

No tool can. This checks markup that can be tested from the code, which covers part of WCAG. Colour contrast, keyboard use, focus order, readable content and how a screen reader announces the page need a person to test them.

What does it check?

Page language and title, the main landmark, image alt text, links and buttons with no name, vague link text, form fields without labels, heading structure, duplicate ids, positive tabindex, frames without titles, tables without header cells, autoplaying video and a few other issues.

Why does a placeholder not count as a label?

Placeholders disappear when you type, have low contrast in many browsers and are not read as labels by every screen reader. A visible label, or at least an aria-label, is needed.

Is empty alt text an error?

No. alt="" is correct for decorative images, because it tells a screen reader to skip them. A missing alt attribute is the error, since the reader then announces the file name.

Can I check a page behind a login?

Yes. Open the page, copy the HTML from your browser's developer tools (Elements panel) and paste it here. Pages that are built in the browser by scripts must be copied from the Elements panel, not View Source.

Does it check colour contrast?

No, because contrast depends on style rules. Use the Color Contrast Checker for pairs of colours.

Is my code uploaded?

No. The HTML is analysed in your browser and not sent anywhere.

Can I check just one form or section?

Yes. Paste a fragment. Checks that need a whole page, such as language and title, only run when the HTML contains an html tag.

Related tools