• Success Criterion 1.3.1
  • Conformance level A

Mismatched Parent and Child Roles in a Custom ARIA Widget

1.3.1 — Info and Relationships

Scenario

Setting

A car-rental site's checkout flow

What’s wrong

ARIA structural roles broken: role="list" whose children aren't listitem — tab without tablist — row outside grid/table.

Example

Consider a car-rental site's checkout flow: ARIA structural roles broken: role="list" whose children aren't listitem — tab without tablist — row outside grid/table.

Why it matters

Screen-reader, braille, and reading-tool users who depend on coded structure rather than visual layout. The practical effect on a car-rental site's checkout flow: they can't navigate the content by its real structure.

How to test

Inspect a custom widget's ARIA parent/child structure in DevTools (e.g., li inside ul, tab inside tablist): mismatched nesting breaks the pattern a screen reader expects.

How to fix

Complete the required ARIA parent/child structure (listitem in list, tab in tablist, row in grid/table).

Outcome

That one change on a car-rental site's checkout flow means they understand how the page is organized.

Who is affected

Screen-reader, braille, and reading-tool users who depend on coded structure rather than visual layout.

Learn more