ARIA
The page body must not be hidden from assistive technology
- Rule:
aria-hidden-body - Severity: Critical
- WCAG level A
Why it matters
aria-hidden="true" on <body> removes the entire page from the accessibility tree. A screen reader reports an empty document — nothing on the page exists for it.
How to fix it
- Remove aria-hidden from <body>.
- If a modal needs the rest of the page ignored, mark the sibling container inert (or aria-hidden), never the body itself.
- Check the code that opens dialogs: this is almost always a cleanup that did not run.
In markup
<body aria-hidden="true">...</body><body>
<div aria-hidden="true" class="decorative-backdrop"></div>
</body>The requirement behind it
This rule is one way of failing the following WCAG 2.2 success criteria. The W3C, which writes the standard, explains each of them:
- 1.3.1 Info and Relationships (opens in new tab) — WCAG level A
- 4.1.2 Name, Role, Value (opens in new tab) — WCAG level A
Further reading
Deque University on aria-hidden-body (opens in new tab)
Deque maintains axe-core, the open-source engine our scanner runs. Their page documents the rule as the engine implements it.
Automated checks find failures a browser can prove. They cannot judge whether a caption is accurate, whether an alt text is useful, or whether a page can be operated end to end with a keyboard — those need a person.