Powered by
Names, roles & states
A List-Type Role Is Missing the Items It Needs Inside
When a list, menu, tab list or table role has no proper items inside, screen readers can't count or describe them, so people lose their place.
aria-required-childrenWCAG 2.0Introduced in WCAG 2.0.Level AA — the minimum. Missing it blocks people outright.
- Status
- CriticalCritical — Someone can complete the task only with great difficulty or outside help.CurrentScanners run this rule today.
- Owner
- DesignDevTest
- Audit
- Automated+ManualA scanner finds it; a person confirms the fix.
Why it matters
Some ARIA roles are containers. A list needs listitems. A tablist needs tabs. A menu needs menuitems. ARIA is extra code that tells screen readers what something is.
If the right items aren't inside, the screen reader can't say "tab 2 of 4" or move between items. The structure everyone can see is lost to people who can't see it.
Who it affects
| Who | What they experience | Impact |
|---|---|---|
| Screen reader users | They hear "tab list" but no tabs, or a list with no count, and can't move item by item. | High impact |
| Low-vision users (magnification) | Affected only if they also use a screen reader, as many do. | Partial impact |
| Cognitive and neurodivergent users | When the voice gives no count or position, it's harder to keep track. | Partial impact |
| Voice control users | Saying "click tab" or a menu item may fail when the item's role is missing. | Partial impact |
Business & product impact
| Area | Why | Impact |
|---|---|---|
| Legal | It fails WCAG 1.3.1 at Level A, the minimum, and EN 301 549. Complaints under Australia's Disability Discrimination Act point to WCAG. | High impact |
| Conversion | Broken tabs, menus or option lists can hide product details or block checkout steps. | Moderate impact |
| SEO | Search engines don't read ARIA roles in any useful way. No real benefit. | Low impact |
| Brand trust | A menu that reads as empty feels broken. Screen reader users notice and tell others. | Moderate impact |
| Cost to fix | Usually lives in one shared component, so one fix covers every page. | High impact |
Fixing it in code
Tabs with the tab role missing
Don't
<div role="tablist">
<button>Details</button>
<button>Reviews</button>
</div>A screen reader says: “Tab list. Details, button”
Do
<div role="tablist">
<button role="tab" aria-selected="true">Details</button>
<button role="tab" aria-selected="false">Reviews</button>
</div>A screen reader says: “Details, tab, selected, 1 of 2”
A tablist must hold tabs so screen readers can count and describe them.
A list role with plain divs inside
Don't
<div role="list">
<div>Apples</div>
<div>Pears</div>
</div>A screen reader says: “List, 0 items. Apples”
Do
<ul>
<li>Apples</li>
<li>Pears</li>
</ul>A screen reader says: “List, 2 items. Apples”
Plain HTML lists bring the right items for free.
Designer's handoff note
When you design tabs, menus or lists, mark which parts are the container and which are the items.
Note what the screen reader should say, such as "Reviews, tab, 2 of 3".
Quick test
Tool
NVDA (opens in a new tab) (free on Windows)
Checklist
- Pass
- You hear each item's role and position, like "tab, 2 of 3".
- Fail
- You hear the container's name but no item roles or counts.
What a green scan still misses
A scanner checks that items with the right role exist. It can't tell whether the keyboard and states work as people expect — for that, try it yourself.
Reference
- Rule ID
aria-required-children- Raised by
- axe-core: “Certain ARIA roles must contain particular children”
- WCAG
- 1.3.1 Info and Relationships (opens in a new tab) · Level A · since WCAG 2.0
- Other standards
- EN 301 549 9.1.3.1 · RGAA 9.3.1
- Last reviewed
- 14 October 2026