• Success Criterion 3.3.2
  • Conformance level A

Required Field Marked in Code but Not Shown Visually

3.3.2 — Labels or Instructions

Scenario

Setting

A customer-support live-chat widget

What’s wrong

Required state exposed programmatically but with no visual indication, so sighted users can't tell mandatory from optional.

Example

<input type="text" placeholder="Full name">

Why it matters

Everyone filling forms, especially people with cognitive disabilities and magnifier users.

How to test

Inspect a required field: if aria-required is set but there's no visual indicator (asterisk, 'required' text) for sighted users, it fails.

How to fix

A persistent visible label must be provided, required status must be marked visually AND programmatically (with any symbol explained), and format rules stated before input.

<label for="name">Full name</label>
<input type="text" id="name" placeholder="e.g. Jane Smith">

A persistent visible label survives once the user starts typing; a placeholder alone disappears.

Outcome

On a customer-support live-chat widget, this barrier is gone for everyone filling forms — they no longer have to work around this.

Who is affected

Everyone filling forms, especially people with cognitive disabilities and magnifier users.

Learn more