On Wed, Nov 5, 2014 at 5:07 PM, Bruno Racineux br...@hexanet.net wrote:
Those two lines from spec [1] are in conflict:
Because this attribute is typically implemented using CSS, it's also
possible to override it using CSS
if something is marked hidden, it is hidden from all presentations
The latter is not true as currently implemented.
The former allows a css enabled styled presentation to display a hidden
element,
while browsing with *styles disabled* with have the element hidden (not
displayed)
due to the default browser stylesheet making it so.
Technically it is therefore *not* hidden form all presentations and
breaks the hidden = aria-hidden accessibility assumptions. I find this
conflicting.
And allowing a css override, breaks my use case:
Say, I have a link: a class=email hiddenEmail/a . And I only want this
link to
render dynamically and conditionally as a mailto: href with a
'display:block' style.
I am unable to pre-style my links with a 'display:block', because it cancels
'hidden',
which makes 'hidden' useless to me here if it wasn't for a *[hidden] {
display: none; }
at the end of my stylesheet.
I strongly suggest that hidden be made a 'display: none !important' instead
to remedy this confusion.
[1] https://html.spec.whatwg.org/#the-hidden-attribute
This is intentionally *not* done, so that authors can hide it using
whichever technique they wish; in particular, authors need to be able
to do a transition of styles when setting/removing 'hidden', like
fading it to/from opacity:0. Forcing it to display:none would prevent
these kinds of animations.
~TJ