Skip to content
SilktideHelp

Nested aria-hidden

Silktide checks for content marked as visible to inside a container that is marked as hidden from it. Hiding wins: the inner marking has no effect, and the content remains hidden.

<!-- Problem: the paragraph stays hidden despite aria-hidden="false" -->
<div aria-hidden="true">
  <p aria-hidden="false">Important content</p>
</div>

Why this matters

When an element has aria-hidden="true", everything inside it is removed from the . The standard provides no way for a descendant to opt back in - aria-hidden="false" inside a hidden container simply does nothing. Authors who use this pattern believe they have re-exposed the inner content, so the result is content that sighted users can see but users cannot reach, with nobody aware of the gap.

How to fix it

  1. Restructure the markup so the content that should be exposed is not inside the hidden container - move it out to be a sibling instead of a descendant.
  2. If everything inside the container should actually be available, remove the aria-hidden="true" from the ancestor.
  3. Never rely on aria-hidden="false" to undo an ancestor's hidden state; once the fix is made, the inner attribute can usually be deleted too.

How Silktide tests this

  1. Find every element on the page with aria-hidden="false".
  2. Walk up its ancestors looking for any element with aria-hidden="true".
  3. Report each element whose aria-hidden="false" is trapped inside a hidden ancestor.

Troubleshooting

A script toggles the ancestor's aria-hidden

Silktide tests the page as it loads. If the hidden state only exists momentarily before a script removes it, the finding reflects that initial state - but note that assistive-technology users on slow connections experience that state too, and the nested aria-hidden="false" still does nothing while it lasts.

This check reports nothing even though I expect findings

ARIA testing can be turned off per website. Check the advanced settings for the website.

Learn more

Last updated

Was this page helpful?

Nested aria-hidden | Silktide Help