Certain ARIA roles must be contained by particular parent elements

Rule ID: aria-required-parent
User Impact: Critical
WCAG: 1.3.1

Compliance Data & Impact

User Impact

Disabilities Affected

  • Blind
  • Deafblind
  • Mobility

Requirement(s)

  • WCAG 2.0 (A): MUST

WCAG Success Criteria

  • 1.3.1 Info and Relationships

Section 508 Guidelines

  • Not specified, or not applicable

Rule Description

Certain ARIA roles must be contained by particular parent roles in order to perform the intended accessibility functions.

Why it Matters

For each role, WAI-ARIA explicitly defines which child and parent roles are allowable and/or required. Elements containing ARIA role values missing required parent element role values will not enable assistive technology to function as intended by the developer.

When it is necessary to convey context to the user of assistive technology in the form of hierarchy (for example, the importance of a parent container, item or sibling in a folder tree), and the hierarchy is not the same as the code structure or DOM tree, there is no way to provide the relationship information without the use of ARIA role parent elements.

How to Fix the Problem

Ensure all ARIA roles are contained by their required parent element, if any.

The relationship properties available in ARIA are the following:

  • aria-activedescendant
  • aria-controls (used primarily by elements where the role is group, region, or widget)
  • aria-describedby
  • aria-flowto (used primarily to provide alternate reading/tab order to skip past ads or complementary regions)
  • aria-labelledby
  • aria-owns (used primarily to identify which elements belong to the group)
  • aria-posinset
  • aria-setsize

ARIA allows you to communicate relationship information to screen readers, which specifies relationships between items (for example, aria-ownsaria-controls, both of which describe a kind of parent-child relationship where one item owns or controls another).

The Algorithm (in simple terms)

Checks all elements that contain a WAI-ARIA role to ensure that all required parent roles are present