***This document provides helpful tips to improve your site's accessibility. While it doesn’t guarantee 100% compliance, it’s a great starting point to make your website more inclusive and user-friendly.***
Identification
Certain ARIA roles must be contained by particular parents (Rule ID: aria-required-parent)
Applicable Standards
WCAG 2.0, 2.1, 2.2 Level A (1.3.1)
EN 301 549
WAI-ARIA 1.1
Impact
Critical level impact affecting:
Blind users
Deafblind users
Users with mobility impairments
Proper Implementation
Elements must be contained within appropriate parent elements with required ARIA roles. Relationships can be established through:
Proper role hierarchy
ARIA relationship attributes (aria-owns, aria-controls)
DOM structure
Correct parent-child combinations
Examples of Correct Usage
Using
role="listitem"Insiderole="list":role="listitem" is correctly placed within a parent element with role="list", ensuring proper semantic structure for assistive technologies.
Using
role="row"Insiderole="rowgroup":role="row" is correctly nested within a parent role="rowgroup", ensuring a valid table structure.
Using
role="option"Insiderole="listbox":role="option" elements are correctly placed inside a role="listbox", ensuring the listbox and its options are announced properly by screen readers.
Using
role="menuitem"Insiderole="menu":role="menuitem" is correctly placed within a role="menu" container, ensuring proper navigation for assistive technologies.
Using
role="tabpanel"Insiderole="tablist":role="tabpanel" elements are correctly associated with role="tab" elements within a role="tablist", ensuring proper tabbed navigation.
Common Errors to Avoid
role="listitem"Without arole="list"Parent:role="listitem"is missing a parent withrole="list", causing screen readers to misinterpret the structure.
role="row"Outside arole="rowgroup"orrole="table":role="row" must be contained within a role="rowgroup" or role="table". Without the proper parent, the table structure is invalid.
role="option"Outside arole="listbox":role="option" elements are not contained within a role="listbox", preventing proper announcement and navigation by assistive technologies.
role="menuitem"Outside arole="menu":role="menuitem" elements are not inside a role="menu" container, making the structure inaccessible for screen readers.
role="tabpanel"Without arole="tablist":role="tabpanel" elements must be associated with role="tab" and contained within a role="tablist" for proper tab navigation.
Rationale
Ensures proper semantic structure
Enables correct interpretation by assistive technologies
Maintains hierarchical relationships
Critical for component functionality
Provides necessary context for screen readers
Evaluation Method
Inspect the Code
Verify that:
ARIA child roles are nested within the correct parent roles.
Parent-child relationships follow WAI-ARIA specifications.
If necessary, relationships are established using attributes like
aria-ownsoraria-controls.
Test with Assistive Technology
Use a screen reader (e.g., NVDA, JAWS, or VoiceOver) to confirm:
The ARIA structure is announced correctly.
Interactive and navigational elements behave as expected.
Evaluation Checklist

