- From: Alan Gresley <alan@css-class.com>
- Date: Thu, 24 Jul 2008 22:19:08 +1000
- To: Francois Remy <fremycompany_pub@yahoo.fr>
- CC: Brad Kemper <brkemper@comcast.net>, Boris Zbarsky <bzbarsky@MIT.EDU>, "Tab Atkins Jr." <jackalmage@gmail.com>, www-style list <www-style@w3.org>
Francois Remy wrote: > > JScript / ECMAScript is very slow in comparaison of C++ or some other > native language. > But I've done the test-case, any way. But it's only to give an idea of > that. Many months ago when a similar topic came up (as often happens), I theorized a selector like this. #navigation ul+(li+a:focus) {...} When the anchor element was in focus the style for the grandparent <ul> element would be applied. The use case would be with this menu system or any similar one. http://css-class.com/articles/ursidae/bears5ddh-kbaccess.htm The reason for this type of menu was for keyboard accessibility. When a given anchor was in focus the grandparent <ul> would be rendered. This need came crumbling down when I tested the menu in Opera 9.5. I have used both of these sets of selectors in this menu system for the accessibility functioning. #navigation li li a:focus { /* The focus position for anchors */ position : relative; left: 10000px; top:0; z-index:1; } and #navigation li a:focus+ul { top: 0; left: 0; margin-left: 0; top: 2.35em; } This can be seen in action with Gecko and Webkit by tabbing (IE7- uses the active pseudo-class). In Opera 9.5 it does something that I have not even declared since it implements my theorized selector, #navigation ul+(li+a:focus) {...} and somehow mysteriously walks the chain backwards when using the SHIFT with the arrow keys. With Opera I can skip across top tree level list items with anchors. I have now created a new demo just for Opera 9.5 using just this CSS. #navigation li a:focus+ul { top: 0; left: 0; margin-left: 0; top: 2.35em; } http://css-class.com/articles/ursidae/bears5ddh-kbaccess-opera.htm The behavior with Opera 9.5 is the same as with the original demo. My use case is already archived simply by focus without using any scripting whatever apart from the API in Opera 9.5. One in which multiple anchors of a particular DOM tree are in focus and a functioning that many scripts have tried to achieve but failed cross browser. My question is what are the use cases for a parent pseudo-class or a parent child combinator? I don't think it up to the implementors like Boriz to prove the performance hit. I as one author can not see a use case. I would also suggest that before we venture down the road of parent pseudo-class or a parent child combinator, we first have a look at what the affects of *focus* is before we destroy this very powerful pseudo-class. -- Alan http://css-class.com/ Nearly all men can stand adversity, but if you want to test a man's character, give him power - Abraham Lincoln
Received on Thursday, 24 July 2008 12:19:59 UTC