HTML Accessibility Hints Checker

Paste page HTML to check nine accessibility hints, from missing alt text to repeated id values, with a sample of each.

Inputs stay on your device No sign-up Free to use
How this works

The tool runs in this browser. Your file or text is not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

Privacy details

Check HTML hints controls

Showing an example. Edit to see your own.

Paste a section or a whole page, up to 200,000 characters. The checks read the markup in this browser and never load the page.

Processed in your browser. Your inputs stay on this device.

How to use HTML Accessibility Hints Checker

  1. Paste a section or a whole page into the Page HTML box.
  2. The table appears as soon as the HTML is in the box.
  3. Read each row: the check, the number of matches and what to do about it.
  4. Open the sample under a check in the text result, confirm it in the browser, then fix the ones that are real.

Example: HTML Accessibility Hints Checker

Check a small market page before it is published.

You add
The example page in the box: one image with no alt attribute, one image with alt="", a link with no text, a button with no text, an iframe with no title, a table with no th cells, an input whose label points at another id, and an html element with lang set.
You get
6 hints across 6 of 9 checks: 1 image without alt text, 1 link with no text, 1 button with no text, 1 iframe without a title, 1 table without th cells and 1 input that may have no label. Page language, repeated id values and positive tabindex values are clear, and 1 image uses empty alt text for decoration.

Options

Hints, not a verdict
Each row names something that can be seen in markup and shows the matching element so you can judge it. A row with a count of zero means only that this reader found nothing in that category for the HTML you pasted.
Samples
Up to three matching elements are shown for each check as trimmed text. Use them to find the element in your template, then confirm the fix on the real page with a keyboard and a screen reader where you can.

Supported inputs and limits

Up to 200,000 characters, 4,000 tags and 3 samples per check in one run. Nine fixed checks run, and each one reads the markup you paste. Text and elements added by JavaScript after load are not here, a label that wraps its input is not matched to it, and a table with no th cells is reported whether it holds data or only lays out a page. An element carrying a title attribute is not reported, because a title can stand in as a name, but a title-only name is a weak one and visible text or an aria-label is better. The reader cannot measure colour contrast, focus order beyond a positive tabindex value, motion, zoom, or how a screen reader reads the page. A clear result is not a certificate and not an audit; a page can be hard to use while every row here is clear.

Where your input is processed

This tool processes your input in this browser. Your text and files are not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

What a markup hint can and cannot tell you

The checks here look at elements and attributes in the HTML you paste. They can prove that an image has no alt attribute, that a link holds no text, or that two elements share an id. They cannot prove that alt text describes an image well, that a label reads clearly, that colour contrast is enough, or that focus moves in a sensible order. Treat a finding as a prompt to look at one element on the real page, and a clear row as the absence of that one problem in the markup you gave the reader. The Web Content Accessibility Guidelines describe the underlying requirements, and a full review needs a browser plus, for anything formal, help from people who use assistive technology.

W3C Web Accessibility Initiative, Images tutorial

WCAG 2.2 Understanding 1.1.1 Non-text Content

WCAG 2.2 Understanding 1.3.1 Info and Relationships

Questions about HTML Accessibility Hints Checker

Does a clear result mean my page is accessible?

No. The page runs nine checks over the markup you paste and reports nothing else. Contrast, focus, keyboard order, motion, zoom and the way a screen reader reads the page need a browser and a person, and a serious audit also involves people who use assistive technology.

Why is my input reported when I wrap it in a label?

The reader matches a label that points at an input with a for attribute. A label that wraps its input is valid and common, but this reader cannot see that pairing, so it lists the input for you to confirm by hand.

Why is my layout table reported?

A table with no th cells looks the same to the reader whether it holds data or only lays out content. The row is a prompt to say which one it is. A data table needs header cells, and a layout table is better replaced with a grid or flex layout.

What is wrong with a positive tabindex value?

It pulls the element out of the natural page order, so a keyboard user reaches it before elements that appear earlier on the page. The reader lists tabindex values greater than zero; tabindex="0" and tabindex="-1" are not listed.

Project manager: Tony Hines · Content updated 29 September 2026 · Report a problem