Skip to main content

ADA Title II|WCAG 2.1 AA required by April 26, 2027 (50,000+) and April 26, 2028 (smaller entities, special districts)

Free tool · checks one public page

Link and heading checker

Enter the address of a public page. We load its HTML and show the heading outline and every link, with empty links, vague link text and skipped heading levels flagged.

How to fix what it finds

  • Empty links: add alt text to the image inside the link that says where it goes (for example "Facebook page"), or an aria-label on icon-only links.
  • Vague links: rewrite "Read more" as "Read more about the bond election", or make the headline itself the link. In a CMS, the "read more" text is often a theme setting.
  • Same text, different destinations: make each link unique ("Agenda, March 3 meeting", "Agenda, March 17 meeting").
  • Links that open a new window: say so in the link text or with an icon that has a text alternative, or open the link in the same window.
  • No H1 or many H1s: give each page one H1 with the page's topic. The site name in the header is usually not the H1.
  • Skipped levels: pick heading levels by structure (H2 for sections, H3 for subsections) and change the visual size with CSS.

This tool checks one page's HTML. A PillarScan scan loads every page in a real browser and runs the full set of automated WCAG checks, including headings and links.

Sources

  1. W3C, Understanding 2.4.4 Link Purpose (In Context)
  2. W3C, Understanding 2.4.6 Headings and Labels
  3. W3C WAI, Page structure: headings
  4. WebAIM, Links and hypertext

Questions

Frequently asked

Why do headings matter for accessibility?

Screen reader users jump between headings to scan a page, the way sighted readers skim. Headings must be real heading elements (WCAG 1.3.1) and describe their section (2.4.6). A logical order without skipped levels makes the outline easier to follow.

Is a skipped heading level a WCAG failure?

Not by itself. WCAG does not require a strict sequence, but skipping from H2 to H4 often means headings were chosen for their size rather than their meaning, which is worth fixing.

What is wrong with "click here" and "read more"?

Screen reader users often pull up a list of all links on a page. Ten links called "Read more" are impossible to tell apart. WCAG 2.4.4 requires the purpose to be clear from the link text or its context; descriptive link text is the simplest way to meet it.

What is an empty link?

A link with no text a screen reader can announce, usually an icon or image link without alt text or an aria-label. It fails WCAG 2.4.4 and 4.1.2.

Why doesn't it find headings on my page?

The checker reads the HTML your server sends and does not run JavaScript. Pages built entirely in the browser, or behind a login or firewall, will show little or nothing. A full PillarScan scan uses a real browser.

Do you store the address I check?

We log the address checked and cache the result for an hour to prevent abuse and to understand which tools are used. We do not store anything else. See our privacy policy.