[whatwg] hidden="" should be "display:none !important" in the UA stylesheet

Edward O'Connor eoconnor at apple.com
Tue Nov 13 13:49:32 PST 2012


Hi,

I don't recall if this was in person or in email, but I think Tab made a
compelling argument in favor of changing the implementation of hidden=""
to be

  [hidden] {
    display: none !important;
  }

in the UA stylesheet.

Consider a bunch of thingies, represented in the DOM with a pile of
<div>s. Some of them are hidden.

  <div id=thing0 class=thing>...</div>
  <div id=thing1 class=thing>...</div>
  ...
  <div id=thing46 class=thing>...</div>
  <div id=thing47 class=thing hidden>...</div>
  <div id=thing48 class=thing>...</div>
  ...
  <div id=thing84 class=thing>...</div>
  <div id=thing85 class=thing hidden>...</div>
  <div id=thing86 class=thing>...</div>
  ...
  <div id=thingN class=thing>...</div>

These thingies are flexboxes:

  .thing {
    display: flex;
  }

As things stand now, all of the thingies are visible, including the ones
the author intended to remain hidden. This is really unfortunate.


Ted


More information about the whatwg mailing list