Documentation
Hidden and assistive CSS
Summary
CSS Helpers for hiding and "visually hiding" content.
Status
| API status: | general | 
|---|---|
| Included in AUI core? | Yes. You do not need to explicitly require the web resource key. | 
| Web resource key: | com.atlassian.auiplugin:ajs | 
| Experimental since: | 3.2 | 
Code
Simply apply the hidden or assistive class to the element. No other code is required. Works well with jQuery toggleClass().
hiddenremoves the element - it is not available to any user (it appliesdisplay: none;)assistivehides the element from visual display, but leaves it in the document; meaning it is still available to screen readers (it applies the same clip:rect hiding solution as HTML5 Boilerplate.
CSS
<p class="hidden">I am an element no human should encounter under current conditions.</p>
<p class="assistive">I am an element that adds some extra information for people who can't see some kind of visual cue.</p>Implementation tips
Don't
- Don't use .hidden on critical content if there is no way to reveal it using a keyboard
 - Don't mix .hidden with jQuery show()/hide(), instead:
- toggle the hidden class to show/hide the element
 - OR, use jQuery hide() to hide the element in the first place; then you can safely use jQuery show() to reveal it
 
 - Don't use assistive if the content is not useful to anyone - eg. unpopulated templates, closed dialogs, etc
 - Don't use assistive for SEO bombing. Not cool.
 
Do
- Do use .hidden when the content should not be available to any user.
 - Do use .assistive when the content should still be available to keyboard and screen reader users, but cannot be revealed on demand using the keyboard.
 - Do use .assistive (judiciously!) to provide context to screen readers, for example where sighted users are given visual cues but without the visual cues the structure and purpose of a page would not be apparent.
 
Recommended reading
If this is an unfamiliar technique, some further reading may be useful:
- When and how to hide content: WebAIM: CSS in Action: Invisible Content Just for Screen Reader Users
 - Why the clipping solution: Hiding Content for Accessibility - snook.ca
 - Regarding the usability of hiding content: Better for Accessibility - Derek Featherstone