- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Thu, 21 Feb 2008 11:12:05 -0800
- To: Bert Bos <bert@w3.org>
- CC: www-style <www-style@w3.org>
Bert Bos wrote: > On Thursday 21 February 2008 16:47, Brad Kemper wrote: > > >> The word "initial" sounds like it is only something that exists at >> the beginning, and once someone starts collapsing or expanding it, it >> is no longer initial. Does "initial" represent an open branch of the >> tree or a closed one? It would depend on the style sheet, I guess, >> but that makes its meaning vague. >> > > That's on purpose. I'm not tied to the name "initial," it just seemed a > reasonable word to express the two ideas that (1) there exists another > state and (2) this state is the default. > > Another option is giving a name to the second state rather than the > first. E.g., ':alternative': > > ul {content: attr(title)} > ul:alternative {content: contents} > > alhough to keep the element readable in old browsers, one might want to > write that as: > > ul:not(:alternative) {content: attr(title)} > > (It's actually shorter like that, but it makes you think harder :-) ) > > >> I would prefer something that more >> definitively indicated its actual current state ("opened" or >> "closed"), the way "checked" does for checkboxes and radio buttons. >> > > I started with that idea, but abandoned it for the more general (and > admittedly more abstract) idea of initial and alternative states, > because one state is not necessarily more "closed" than the other: > > div img.recto {display: none} > div:alternative img.verso {display: none} > ... > <div> > <p>Click to see the other side: > <img class=recto src="recto.jpg" alt="front - title"> > <img class=verso src="verso.jpg" alt="back - index"> > </div> > > Or: > > p.warning {font-size: xx-small} > p.warning:alternative {font-size: large} > ... > <p>Click to enlarge: > <p class=warning>Warning: This paragraph is too small to read. > > (Yes, I know "click" is not the right word to use in an HTML document, > because not everybody has a mouse, but it's just for the example.) > > I even tried n-state elements (n >= 2), but that became very abstract > indeed... > > >> But rather than invent a new state and pseudo-class, I would rather >> see "checked' repurposed for this type of list, and given a >> definition to mean open if checked and closed if unchecked. >> > > My intuition says that overloading ':checked' is dangerous and not very > intuitive. In the examples I gave so far there is nothing that I would > associate with putting a check mark. It's collapsed, expanded, toggled, > set to an alternative state, set to a second state, maybe changed or > restored, but not checked... > > >> The author could always simulate reverse behavior if they wanted to, >> I suppose, but the default style sheet could just make "checked" tree >> LI's opened, and "unchecked" LI's closed. >> > > That would take away all the flexibility. It's not just lists I want to > collapse, it's paragraphs and sections as well. And > sometimes "collapsing" doesn't mean hiding, but making it smaller or > making it gray. > > > > Bert > Bert, I think that :collapsed and :expanded is the best choice considering the fact that not(:collapsed) and not(:expanded) is the :initial state you've mentioned. I also agree that :checked is a bad choice for labeling collapsed/expanded states. For example item in expandable hierarchical list can be :checked too if such a list supports multiple selection for example. Consider this sample: http://www.terrainformatica.com/htmlayout/images/tree-view-checks.png Here expandable/collapsible item can also be :checked and that is independent flag. -- Andrew Fedoniouk. http://terrainformatica.com
Received on Thursday, 21 February 2008 19:12:31 UTC