The html "hidden" attribute is a boolean and does NOT need a value set. It's mere presence is sufficient.
What about the "aria-hidden" attribute? Is it's mere presence sufficient? Or does it require the value "true" to be set?
The html "hidden" attribute is a boolean and does NOT need a value set. It's mere presence is sufficient.
What about the "aria-hidden" attribute? Is it's mere presence sufficient? Or does it require the value "true" to be set?
aria-hidden
must have a value of true|false. Note, however, that aria-hidden
is not needed if you are using the hidden
attribute or if you are using CSS visibility:none
or display:hidden
. All three of these latter three ways to hide will also hide the element from a screen reader. You only need aria-hidden="true"
if there's something on the display that you want to hide from a screen reader, such as a decorative element that does not add meaning to the page.
If you are "hiding" an object by setting its font size to 0 or using a clipping rectangle or "pushing" the element off the screen with x
or y
, then you will need to set aria-hidden="true"
on that element because the former techniques are only visually hiding the element and not truly hiding the element.
You must supply a value for aria-hidden.
"If an element is only visible after some user action, authors MUST set the aria-hidden attribute to true. When the element is presented, authors MUST set the aria-hidden attribute to false or remove the attribute, indicating that the element is visible."
https://www.w3.org/WAI/PF/aria/states_and_properties#aria-hidden