Menus, lists or tabs are missing their required child elements
Automated check aria-required-children, run with axe-core
- WCAG
- 1.3.1 Info and Relationships (Level A)
- Severity
- Serious: completable, but painful
- Typical effort
- Moderate, 1 to 4 hours
- Category
- Code quality
Who this affects
Screen reader users navigating menus, tab panels, listboxes and trees.
Why it matters
A container role such as menu, tablist or listbox must contain the matching items. When they are missing or wrapped in other elements, the widget is announced as empty or broken and cannot be navigated.
How to fix it
Give every child the role the container expects (for example role="menuitem" inside role="menu"), and remove wrapper elements between them or give wrappers role="none".
Check your own website
The free scan tests 3 pages against WCAG 2.2 A and AA in about 30 seconds. No sign-up.
Related checks: Code quality
- ARIA attributes used on the wrong elements
- ARIA roles that do not suit the element
- Braille-only ARIA attributes have no spoken equivalent
- ARIA attributes used in ways the role does not allow
- Deprecated ARIA roles are used
- The page body is hidden from assistive technology
- ARIA labels placed on elements that cannot carry them
- ARIA roles are missing their required attributes