All 141 tools / Accessibility checks
Find duplicate headings, same-text links and unnamed repeated landmarks that make a page hard to scan by ear
Repeated labels checkFreeFor developers and designers
15/day
free runs a day, no sign-in.
Before: what you give it
The example input, as typed in. You give it a page address.
<main><section><h2>The longest runs on Broadway</h2><a href="/runs">The longest runs on Broadway</a></section><nav><a href="/">Home</a></nav><nav><a href="/x">Shows</a></nav><a href="/a" aria-hidden="true" tabindex="-1"><img src="a.jpg" alt=""></a><a href="/a">Phantom</a><div id="x"></div><div id="x"></div></main>
After: what comes back
The first lines of a real run on that input. Nothing here is edited by hand.
Source: pasted input. Read 1 headings, 4 named links, 3 landmarks and 1 ids from 13 elements. Skipped 1 headings and links that are aria-hidden or hidden, because a browser leaves them out of the accessibility tree. Findings: 3 (heading-and-link-same-text 1, unnamed-duplicate-landmark 1, duplicate-id 1). [MEDIUM] heading-and-link-same-text: "The longest runs on Broadway" Heading H2 and link to /runs share the same text, in <section>. Screen reader users hear the phrase twice. Give the link its own wording (what is at the other end), or make the heading the link. [MEDIUM] unnamed-duplicate-landmark: 2 navigation landmarks, 2 without a name Landmark lists show the same word 2 times. Add aria-label to each (for example "Primary" and "Footer"). Unnamed: <nav>, <nav>. [MEDIUM] duplicate-id: id="x" x2 On <div#x>, <div#x>. Labels, aria-labelledby and anchors resolve to the first match only. LIMITS ... full output on the tool page
What you get
Findings grouped by type: heading and link twins, duplicate landmarks, repeated links, duplicate ids
What it cannot do
Static HTML; content built by script is not seen, and aria-hidden or hidden elements are skipped.
Who it is for
- Developers
- Designers
Free and Pro
| Free | 15 runs a day per IP address, up to 200,000 characters a run. |
|---|---|
| Pro | No daily limit, 300 requests a minute, up to 200,000 characters a run. |
Use it from your assistant
The tool is called repeated_label_check. Connect the server once, then ask for it by name or just describe the job. Install steps for each app.
claude mcp add --transport http designers https://designers.allthepossibles.com/mcp
curl -X POST https://designers.allthepossibles.com/api/repeated-label-check -H 'content-type: application/json' -d '{"html":"<main><section><h2>The longest runs on Broadway</h2><a href=\"/runs\">The longest runs on Broadway</a></section><nav><a href=\"/\">Home</a></nav><nav><a href=\"/x\">Shows</a></nav><a href=\"/a\" aria-hidden=\"true\" tabindex=\"-1\"><img src=\"a.jpg\" alt=\"\"></a><a href=\"/a\">Phantom</a><div id=\"x\"></div><div id=\"x\"></div></main>"}'
Try it here
The form starts with the same example input, so you can run it first and then swap in your own.
More in accessibility checks
- Page accessibility
Scan one page's HTML for accessibility problems and see the WCAG criterion behind each one.
- Touch targets
Check button and control sizes against WCAG 2.5.8, iOS and web 44, and Android 48 targets.
- Screen reader script
Read a page as a linear script of what a screen reader would announce, with problems flagged inline.
- Reflow and resize check
Find what breaks at 400 percent zoom or 320px wide: blocked zoom, fixed widths and clipped boxes.
- Form audit
Audit a form's markup for labels, autocomplete, input types and error wiring, and review its error messages.
- Alt text quality
Catch missing, file-name and filler alt text on a page, and weak og:image alt, before it ships