Aria Invalid Checker

Paste your page HTML and find bad aria-invalid tokens, unwired error text and class-only invalid fields.

What this tool gives you

token audit
error text ids
class-only fails
grammar/spelling

Check aria-invalid

Paste your page HTML. Analysis runs locally in your browser — nothing is sent anywhere.

Invalid fields need aria-invalid="true" plus an error id — a red border is not enough.

What this checker looks for

WCAG 3.3.1 fails when an error is visible but the control is not marked invalid, or the reason is not announced.

Valid tokens

aria-invalid must be true, false, grammar or spelling — yes/1 do nothing.

Error text

Point aria-describedby or aria-errormessage at a real id.

Class-only errors

is-invalid / has-error without aria-invalid is a sighted-only fail.

Grammar/spelling

Those tokens count as errored and still need help text.

False is fine

aria-invalid=false is a valid idle state, not a fail.

0–100 score

Track validation hygiene across signup, checkout and lead forms.

How to mark an invalid field

Three rules cover almost every silent form error in the wild.

1

Set aria-invalid

true on the control itself. yes, 1 or invalid are ignored by AT.

2

Wire the error copy

Point aria-describedby or aria-errormessage at a real id with the reason.

3

Do not rely on CSS

is-invalid / has-error is sighted-only. Mark the field for AT too.

Why answer engines care about invalid fields

Named errors are a cheap-to-parse signal that the form can recover, not a silent dead-end.

SignalWhat engines inferWhy it helps
aria-invalid=trueThe field failed validation.Extractors can quote the error, not a red border.
describedby / errormessageThe reason is programmatically tied.AT users hear why, not just “invalid”.
No class-only failsVisual and AT states match.Lower bounce on AI-referred lead forms.
WCAG 3.3.1 passErrors are identified.Citable, trustworthy pages get quoted more often.
Valid tokensThe page uses the platform API.true/false/grammar/spelling beat custom yes/1 flags.

Related GEO pages

Invalid fields pair with live regions and labels so errors are both marked and spoken.

Aria invalid FAQs

What values does aria-invalid accept?

true, false, grammar and spelling. Tokens like yes, 1 or invalid are ignored, so AT never flags the field. Use true for failed validation.

Is a red CSS class enough?

No. is-invalid or has-error is sighted-only. Screen readers need aria-invalid=true plus aria-describedby or aria-errormessage pointing at the error copy.

Does aria-invalid=false fail?

No. false is a valid idle state. The checker only fails unknown tokens, missing help text on true/grammar/spelling, and visual errors with no aria-invalid.