Designers

All 141 tools / Accessibility checks

Audit a form's markup for labels, autocomplete, input types and error wiring, and review its error messages.

Form auditFreeFor developers and designers

30/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.

html:
  <form action="/signup" method="post">
    <input type="text" name="fullname" placeholder="Full name">
    <input type="text" name="email" placeholder="Email">
    <input type="text" name="phone" placeholder="Phone">
    <label for="pw">Password *</label>
    <input type="password" id="pw" name="password" onpaste="return false">
    <label for="pw2">Confirm password</label>
    <input type="password" id="pw2" name="password2">
    <label for="card">Card number</label>
    <input type="number" id="card" name="cardnumber" maxlength="16">
...

After: what comes back

The first lines of a real run on that input. Nothing here is edited by hand.

# Form audit

Read 1 form and 8 fields: 3 high, 14 medium, 8 low, 1 to check by hand.

## High

- **1.3.1, 3.3.2, 4.1.2** (2 places): A control has no programmatic label at all. Fix: Wrap it in a <label> or connect one with for and id. Example: `<input type="radio" name="plan" value="free">`
- **3.3.8 Accessible Authentication (Minimum)**: A password field blocks pasting. People using password managers cannot log in without recalling or retyping. Fix: Remove the onpaste handler. Example: `<input type="password" id="pw" name="password" onpaste="return false">`
- **3.3.8 Accessible Authentication (Minimum)**: A CAPTCHA is present with no visible alternative. Image or puzzle tests rely on cognitive function tests and fail criterion 3.3.8 unless another route exists. Fix: Offer a non-puzzle path: passkey, email link, a one-time code, or a support contact. Prefer invisible or behavioural checks.

## Medium
... full output on the tool page

What you get

Findings with WCAG criterion, severity and fix, plus a review of each error message you supply

What it cannot do

Reads static markup only; colour-only errors and script-built fields need a browser check.

Who it is for

  • Developers
  • Designers

Free and Pro

Free30 runs a day per IP address, up to 100,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 audit_form. 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/form-audit -H 'content-type: application/json' -d '{"html":"<form action=\"/signup\" method=\"post\">\n  <input type=\"text\" name=\"fullname\" placeholder=\"Full name\">\n  <input type=\"text\" name=\"email\" placeholder=\"Email\">\n  <input type=\"text\" name=\"phone\" placeholder=\"Phone\">\n  <label for=\"pw\">Password *</label>\n  <input type=\"password\" id=\"pw\" name=\"password\" onpaste=\"return false\">\n  <label for=\"pw2\">Confirm password</label>\n  <input type=\"password\" id=\"pw2\" name=\"password2\">\n  <label for=\"card\">Card number</label>\n  <input type=\"number\" id=\"card\" name=\"cardnumber\" maxlength=\"16\">\n  <input type=\"radio\" name=\"plan\" value=\"free\"> Free\n  <input type=\"radio\" name=\"plan\" value=\"pro\"> Pro\n  <div class=\"g-recaptcha\" data-sitekey=\"demo\"></div>\n  <button type=\"submit\" disabled>Submit</button>\n</form>","errors":"Something went wrong\nInvalid email\nYou entered the wrong password\nError 422: validation failed\nEnter an email address with an @, like name@example.com."}'

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