- Success Criterion 3.3.2
- Conformance level A
Radio Button Group Missing Its Question or Prompt Text
3.3.2 — Labels or Instructions
Scenario
Setting
A food delivery app's restaurant menu
What’s wrong
Group prompts missing: radio set with options but no question text.
Example
<div role="radiogroup">
<input type="radio" name="spice" id="mild"><label for="mild">Mild</label>
<input type="radio" name="spice" id="hot"><label for="hot">Hot</label>
</div>
<!-- no legend or heading asking 'Choose your spice level' --> Why it matters
A screen reader user hears 'Mild, radio button' and 'Hot, radio button' with no idea what question they're answering.
How to test
Look at a radio/checkbox group: if the options are listed with no question or prompt text identifying what they're choosing between, it fails.
How to fix
Wrap every radio or checkbox group needing a shared question in a fieldset with a legend.
<fieldset>
<legend>Choose your spice level</legend>
<input type="radio" name="spice" id="mild"><label for="mild">Mild</label>
<input type="radio" name="spice" id="hot"><label for="hot">Hot</label>
</fieldset> Outcome
A diner picks a spice level with full confidence in what they're choosing, screen reader or not.
Who is affected
Screen reader users who need the group's question announced before or with each option, not implied by nearby visual text.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Multi-Part Field Like a Phone Number With No Text Label
- Icon-Only Search Field With No Accessible Label
- Placeholder Text Used as the Only Label, Vanishing on Input
- Required Input Format Never Stated Until After an Error
- No Indication of Which Fields on a Form Are Required
- Field Instructions Placed After the Field They’re Meant to Explain