Accessibility Quick Check

Paste a URL to scan its static HTML for missing alt text, empty links, unlabeled form fields, and skipped heading levels — the structural issues a screen reader would trip over. Free, instant, no signup.

What this checks & how to fix it

It fetches the page and scans its raw HTML for six structural issues: images with no alt attribute, links and buttons with no visible text or accessible label, form fields with no associated label, a missing <html lang> attribute, a missing <title> tag, and heading levels that skip a step (like H2 straight to H4). Each category is reported with its own count and a capped scoring deduction, plus a detail list of the individual elements found.

How to fix what it finds

Add a meaningful alt attribute to every content image (or an empty alt="" if it's purely decorative), give every link and button real visible text or an aria-label, pair every form field with a proper <label for="...">, set lang on your <html> tag, and fix your document outline so headings step down one level at a time. None of these require JavaScript or a redesign — they're all one-line template fixes.

Frequently asked questions

Is this a full accessibility audit?

No. This is a static-HTML scan for structural issues — missing alt text, empty links, unlabeled form fields, missing language or title tags, and heading-level skips. It can't evaluate color contrast on a rendered page, keyboard navigation, or JavaScript-driven ARIA state, since none of that exists in the raw HTML this tool receives. It doesn't replace a manual audit or a dedicated tool like axe or WAVE for actual compliance purposes — treat it as a fast first pass, not a certification. For color contrast specifically, CheckSEO.dev's own Color Contrast Checker is a useful complementary manual tool.

Why does an empty alt text (alt="") not count as an error?

An empty alt attribute is the correct, intentional way to mark an image as purely decorative — it tells screen readers to skip the image entirely rather than announce a meaningless filename. The actual problem is an <img> with no alt attribute at all, which forces a screen reader to guess (usually reading out the file path). This tool only flags that missing-attribute case, never a deliberately empty one.

What's the difference between a missing label and a placeholder?

A <label> stays visible and gets announced by a screen reader for as long as the field exists. A placeholder is just hint text inside the field itself — it vanishes the moment someone starts typing, and many screen readers either skip it or announce it inconsistently. This tool treats a placeholder-only field as a real but lesser issue than a field with literally no label of any kind, since at least some information is present, even if it isn't a reliable substitute.

Do heading-level skips actually hurt accessibility?

Yes. Screen reader users commonly navigate a page by jumping between headings using their assistive technology's own heading list — that's how they build a mental map of the page's structure without reading it top to bottom. A skipped level, like an H2 followed directly by an H4, breaks that model: it implies a missing subsection and makes the page's outline harder to trust.

Why did my score change after I fixed one issue?

Each category is capped so a page with many of the same repeated issue doesn't automatically bottom out at zero, but fixing a whole category — say, adding alt text to every flagged image — removes that category's entire deduction at once. Run the check again after any fix; each scan re-fetches the live page rather than reusing a cached result.

Related tools

Command Palette

Search for a command to run...