---
title: "aria-hidden on <body> (a11y/aria-hidden-body)"
description: "a11y/aria-hidden-body: aria-hidden=\"true\" on <body> hides the entire page from screen readers, often left behind by a modal library that failed to clean up."
canonical: https://void-design.vercel.app/rules/a11y/aria-hidden-body
lastModified: 2026-09-16
---

# aria-hidden on <body>

`a11y/aria-hidden-body` · severity **error** · category Accessibility · detected by `void a11y` and `void audit`

## Why it matters

aria-hidden="true" on <body> hides the entire page from screen readers, often left behind by a modal library that failed to clean up.

## How to fix it

Remove aria-hidden from <body>. To hide background content behind a dialog, use the inert attribute on sibling containers or a native <dialog>.

## References

- https://dequeuniversity.com/rules/axe/4.13/aria-hidden-body

## More accessibility rules

`void a11y` reports 48 rules in this category. WCAG 2.2 AA through axe-core, plus checks axe can't do alone: visible keyboard focus, 24/44px target size on mobile, 320px reflow and disabled zoom.

- `aria-roles` Invalid ARIA role — [a11y/aria-roles](https://void-design.vercel.app/rules/a11y/aria-roles)
- `aria-valid-attr` Invalid ARIA attribute name — [a11y/aria-valid-attr](https://void-design.vercel.app/rules/a11y/aria-valid-attr)
- `aria-valid-attr-value` Invalid ARIA attribute value — [a11y/aria-valid-attr-value](https://void-design.vercel.app/rules/a11y/aria-valid-attr-value)
- `aria-hidden-focus` Focusable element inside aria-hidden — [a11y/aria-hidden-focus](https://void-design.vercel.app/rules/a11y/aria-hidden-focus)
- `aria-command-name` ARIA button/link/menuitem has no accessible name — [a11y/aria-command-name](https://void-design.vercel.app/rules/a11y/aria-command-name)
- `aria-input-field-name` ARIA input field has no accessible name — [a11y/aria-input-field-name](https://void-design.vercel.app/rules/a11y/aria-input-field-name)
- `aria-toggle-field-name` ARIA toggle has no accessible name — [a11y/aria-toggle-field-name](https://void-design.vercel.app/rules/a11y/aria-toggle-field-name)
- `aria-prohibited-attr` ARIA attribute is prohibited for this role — [a11y/aria-prohibited-attr](https://void-design.vercel.app/rules/a11y/aria-prohibited-attr)

Detected by `void a11y` and `void audit`. Explain it in a terminal: `void rules a11y/aria-hidden-body`
