Malcolm Rowe wrote:
On Wed, Nov 16, 2005 at 12:53:19PM -0800, Andrew Fedoniouk wrote:
  
I beleive that at least some recommendations should be
published on W3C site like:

".a1 > .a2" is better than ".a1 .a2"
"p[a1]" is better than just "[a1]",
etc.

    

I think I'm right in saying that at least the second of those will
actually be _slower_ in Gecko: it resolves style from the 'inside out',
so upon adding an attribute 'a1', it will actually have to do additional
work to check that the attribute belongs to an element called 'p'
  
In my very recent experience (using Firefox), I found this point to be very important.
Although I cannot comment on how "fast" such mechanisms are, I can tell you how effective they are. When I wanted to use CSS to inhibit the rendering of a link within a navbar I wrote this:
    p.navbar > a {display: inline; other stuff for all links;}
    a.hidden {display: none;}
It didn't work. My intiution was that the second line would NOT need specifics like "p.navbar >" because of the CSS Rec stating that selectors such as:
    a[attr]   p.class
Need only be coded as:
    [attr]   .class
Soon enough, I learned that by coding the entire selector specifically:
    p.navbar > a.hidden {...}
The problem was fixed. It would seem that, at least, Firefox has treated this as a preffered means of using selectors. That being said:
Even if that's not entirely accurate, it's still true to say that those
kind of suggestions would have to be made in the context of a specific
implementation, because, as several people have mentioned, the assertions
you've made above don't actually follow from the specification at all.  So
I could see Mozilla or Opera publishing 'Optimising CSS for {Gecko,Opera}'
documents, perhaps, but it's not really something that falls to W3C to do.

  
This is absolutely true, IMHO. The CSS WG cannot do much more than to maybe make it known, somehow, that user-agents will do the parsing in that implementations own specific way. But even doing that is almost out of the scope of the WG as it is.

I would also like to state that I am just an interested end-user for the most part and did not bring this up to debate how I could/should have coded the link. I just thought that it ran along the lines of this thread and decided to share it.

--Paul Stanwyck