Make sure aria-hidden="true" is not present on the document body.
The attribute aria-hidden="true" must not be used on the <body> element.
About This Rule
This rule ensures that the <body> element does not have the aria-hidden attribute, maintaining accessibility for assistive technologies.
Why It Matters
Applying aria-hidden="true" to the <body> element hides all its content from assistive technologies, such as screen readers. While users can still navigate to focusable elements using the keyboard, the content remains inaccessible, leading to a poor user experience for individuals relying on these technologies.
How to Fix
- Remove
aria-hidden="true"from the<body>element. - Apply
aria-hidden="true"only to elements whose content is decorative or redundant for assistive technology users. - Avoid using
aria-hidden="false"on child elements of a parent witharia-hidden="true", as it won't make them visible to assistive technologies.
Example
Fail
In this example, aria-hidden="true" is incorrectly applied to the <body> element, hiding all content from assistive technologies:
<body class="has-dialog" aria-hidden="true">
...
<button class="action-button">Sign in</button>
...
</body>
Pass
The attribute aria-hidden="true" must never applied to the <body> element. Instead, when a dialog is open, elements outside the dialog can be removed from the tab order.
<body class="has-dialog">
...
<button class="action-button" tabindex="-1">Sign in</button>
...
</body>
Other Rules
Interested in other web accessibility rules? Please see these other rules: