Aria-hidden
ARIA attribute that hides decorative content from assistive technologies while keeping it visually present.
📋 Complete Guide Contents
ARIA Hidden: Managing What Screen Readers See and Don't See
aria-hidden is an ARIA property that tells assistive technology to ignore specific elements. It's the opposite of making content accessible – it's intentionally hiding decorative, redundant, or potentially confusing content from screen reader users.
This might seem counterintuitive for accessibility, but aria-hidden serves an important purpose: it helps screen reader users focus on meaningful content by filtering out visual decorations, redundant information, or complex visual layouts that don't add value when read aloud.
The key is understanding when content should be hidden versus when it should be made accessible. Decorative images, visual separators, and redundant text are good candidates for aria-hidden. Important information, interactive elements, and meaningful content should never be hidden.
When to Use ARIA Hidden
Decorative Images: ```html ```
Visual Separators: ```html
```Redundant Text (when visual and accessible names are the same): ```html ```
Complex Visual Layouts: ```html
```Icon-Only Buttons (when aria-label provides the name): ```html ```
When NOT to Use ARIA Hidden
Never Hide Important Information: If content is meaningful or interactive, it should be accessible, not hidden.
Never Hide Interactive Elements: Buttons, links, form fields, and other interactive elements should always be accessible.
Never Hide Error Messages: Error messages and status updates should be announced to screen reader users.
Never Hide Navigation: Navigation elements are essential for screen reader users to understand site structure.
Never Hide Form Labels: Form labels are critical for understanding what information is expected.
Never Hide Headings: Headings provide structure and navigation for screen reader users.
Never Hide Alternative Text: If you have alt text, don't hide the image – make the alt text accessible instead.
ARIA Hidden Best Practices
Use Sparingly: Only hide content that's truly decorative or redundant. When in doubt, don't hide it.
Test With Screen Readers: Verify that hidden content doesn't contain important information that screen reader users need.
Consider Dynamic Changes: If content becomes important later (like error messages), don't hide it initially.
Document Your Decisions: Keep track of what you're hiding and why, especially in complex applications.
Review Regularly: As content evolves, ensure that hidden elements remain appropriate to hide.
Use With Alternative Content: If you hide visual content, ensure equivalent information is available through other means.
WebAbility automatically manages aria-hidden appropriately, ensuring that decorative content doesn't clutter the screen reader experience while preserving all meaningful information for assistive technology users.
Make Your Website Accessible with WebAbility
Join over 1 million websites using WebAbility to ensure digital accessibility compliance and provide equal access to all users.
Related Resources
Free Accessibility Tools
Related Terms
More Related Accessibility Terms
Accessible Name
The computed name exposed to assistive technologies for an element, derived from label, aria-label, aria-labelledby, or text content.
Accessible Description
Supplemental help text associated with an element, often via aria-describedby, that provides additional guidance beyond the accessible name.
ARIA Live Region
An area of the page that notifies assistive technologies about dynamic updates. Use sparingly with polite or assertive announcements.
Form Label
Text associated with an input that communicates its purpose. Implement with <label for> or ARIA labelling.
Landmark Regions
Page sections identified by semantic elements or ARIA roles (main, navigation, complementary, banner, contentinfo) for quick navigation.
This glossary is continuously improved and maintained by WebAbility to advance accessible design and development.Contact us to suggest improvements or report issues.
```