- Success Criterion 1.3.1
- Conformance level A
Radio or Checkbox Group With No Grouping Question Announced
1.3.1 — Info and Relationships
Scenario
Setting
A social media platform's settings menu
What’s wrong
Radio/checkbox groups without fieldset/legend (code grouping fields under one question) or role="group" (code grouping related controls)+name, where the group prompt is visual only.
Example
<p>Who can see your posts?</p>
<div><input type="radio" name="privacy" id="pub"><label for="pub">Public</label></div>
<div><input type="radio" name="privacy" id="fr"><label for="fr">Friends</label></div> Why it matters
A screen reader user tabbing between the two radio buttons hears only Public and Friends, never the question they're answering.
How to test
Tab through a radio/checkbox set: a screen reader should announce the group's question once, then each option — if there's no fieldset/legend, the group prompt is never announced.
How to fix
A fieldset and legend attach the group question to every option inside it, not just the paragraph above.
<fieldset>
<legend>Who can see your posts?</legend>
<div><input type="radio" name="privacy" id="pub"><label for="pub">Public</label></div>
<div><input type="radio" name="privacy" id="fr"><label for="fr">Friends</label></div>
</fieldset> Outcome
Every option now announces Who can see your posts, Friends together, not just the first one in the group.
Who is affected
Screen reader users choosing a privacy setting lose the question as soon as they move past the first radio button.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Text Styled to Look Like a Heading Instead of Coded as One
- Text Columns Faked With Spaces Instead of Real Table Markup
- Table Layout Faked With Spaces Instead of Real Table Code
- Clickable Div Acting as a Link Button With No Real Role
- Structural HTML Tags Used Purely for Visual Styling
- Layout-Only Table Wrongly Coded With Real Header Cells