Skip to main content
PUBLIC.INTERNET
⚡ Acesso Instantaneo🔒 Privacidade em Primeiro🆓 Sempre Gratuito📱 Funciona em Todo Lugar

Form Label Association Checker

An unlabeled form field is one of the most common and most damaging accessibility bugs: a screen reader reaches it and announces only "edit text," with no idea what to type. This checker audits a form for you. Paste your form HTML and it finds every <input>, <select>, and <textarea> and reports, field by field, whether each one has a real accessible label and how it is provided. It recognizes all the valid mechanisms, a <label for> tied to an id, a <label> wrapped around the control, aria-label, and aria-labelledby that resolves to actual text, and it flags the broken patterns: an id with no matching label, a placeholder standing in for a label, a field labeled only by title, or nothing at all. Each result carries a status of Labeled, Weak, or Missing, plus a concrete fix. Submit and image buttons are checked against their own naming rules (value and alt). Everything runs in your browser; the markup is never uploaded.

Field audit

    How to Audit Form Labels

    1. Paste your form - Drop your form HTML into the Paste your form HTML box; include the labels so associations can be resolved.
    2. Read the summary - The summary box tallies how many fields are labeled, weak, or missing.
    3. Work through the field audit - Each card shows the control, a Labeled / Weak / Missing badge, how it is named, and a fix for any problem.
    4. Fix and re-check - Apply the suggested fix in your code, paste again, and confirm the badges turn green.
    5. Copy the report - Click Copy report to grab a plain-text summary for a ticket or pull request.

    Why This Tool?

    Tools that check label association exist, but they are full-site scanners like Rocket Validator or lint rules like eslint-plugin-jsx-a11y that run in a crawler or a build. Neither fits the quick case: you have a chunk of form markup and want to know, right now, which fields are unlabeled and why. Pasting a snippet and getting a per-field verdict is faster than wiring up a linter, and clearer than a validator error buried in a site-wide report.

    The distinction the tool enforces is the one developers get wrong most often: a placeholder is not a label. Placeholder text disappears the moment someone types, fails contrast guidelines, and is announced inconsistently across screen readers, so a field with only a placeholder is treated as Missing here, not Weak. A real <label> stays visible, expands the click target, and is reliably announced. A practical tip: associate with for and id when the label and field are separated in the DOM, and wrap the field in the <label> when they sit together, since wrapping needs no id at all.