New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hidden and css visibility #1055
Comments
After posting this I discovered https://www.w3.org/TR/wai-aria-1.2/#tree_exclusion
This makes sense for Would you consider this a bug in the implementations or incomplete wording in the spec in which case adding something like " |
This is definitely not a bug in the implementation, but a non-exact formulation in the specification. It is correct that visibility:hidden does not automatically hide all child elements, as is the case with aria-hidden=true, display:none and hidden. |
Edit: I completely missed your point? You were saying aria-hidden should hide all descendants, yes?
-- https://www.w3.org/TR/wai-aria-1.2/#tree_exclusion This matches NVDA and chrome's a11y tree. As to As per recommendation of the living standard
-- https://html.spec.whatwg.org/multipage/rendering.html#hidden-elements
This also matches NVDA and chrome's a11y tree |
Sorry, I may have been inaccurate:
|
We encounter the same issue in ACT rules.
This does sounds like it says that descendants of However, the "host language semantics" of CSS is clear that
So stopping before the examples "Elements, including their descendent elements, that have host language semantics specifying that the element is not displayed" is technically correct 🤷 |
reference to Accname PR 137 where we dicussed "rendered tree" cases in ARIA meeting minutes |
We update the definition of 'hidden' here, and I think it resolves this issue: #1856 |
-- https://rawgit.com/w3c/aria/master/#terms
It is currently not clear to me what "rendered" means in a browser context. We have
display
andvisibility
to control how an element is displayed. By settingdisplay: none
it will be invisible and not take up any space. Ifvisiblity: hidden
is used it will be invisible but take up space.visbility: hidden
can be "disabled" by descendants. As it stands right now chromes a11y tree includes these item. NVDA is also announcing those elements and even considering them when counting listitems.This means
visbility: visible
can be used to put elements back in the a11y tree (if the parent ishidden
) whilearia-hidden=false
will not (if the parent isaria-hidden
).Would it make sense to change the wording (rendered -> displayed) or rather add a note that visibility: hidden does not necessarily remove the whole subtree?
Edit: I just discovered https://www.w3.org/TR/wai-aria-1.2/#tree_exclusion which tells me it is indeed intended thathidden -> visible
nesting will include thevisible
element in the tree. Maybe link to that section from thehidden
terminology?The text was updated successfully, but these errors were encountered: