Designers

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

Free15 runs a day per IP address, up to 200,000 characters a run.
ProNo daily limit, 300 requests a minute, up to 200,000 characters a run.

What each plan includes

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

All accessibility checks tools