An HTML element is programmatically hidden if
- either the computed value of its
visibilityproperty is not
- any of its inclusive ancestors in the flat tree:
Note: Contrarily to the other conditions, the
visibilityproperty may be reverted by descendants.
Note: The HTML standard suggests rendering elements with the
hiddenattribute with a CSS rule that applies the value
displayproperty. Although the suggestion is not normative, known user agents render it according to the suggestion (unless the content specifies another rule that overrides the value of the
displayproperty). If a user agent does not follow the suggestion, this definition may produce incorrect results for this user agent.
Note: Elements that are programmatically hidden are completely ignored by assistive technologies. This is different from not being included in the accessibility tree because some elements with no semantic meaning (containers) are not included in the accessibility tree without being programmatically hidden. For example
<span>Hello</span>is not programmatically hidden, but is not included in the accessibility tree either since it has no role.