WD-CSS21-20020802 section 5, "Selectors", substantive comments

Following are substantive comments on section 5, "Selectors"
(<http://www.w3.org/TR/2002/WD-CSS21-20020802/selector.html>), of the
Cascading Style Sheets level 2.1 draft
(<http://www.w3.org/TR/2002/WD-CSS21-20020802>).



5.1 Pattern matching


"HTML only. The same as DIV[class~="warning"]."

Why HTML only?  What happens to XHTML?  And what happens to some other
vocabulary that defines the equivalent of the HTML/XHTML 'class' attribute?



5.2 Selector syntax


"so the subjects of a selector are always a subset of the elements matching
the rightmost simple selector"

The use of "rightmost" makes cultural assumptions.  At least change to
"rightmost" to "last (rightmost)" if not just to "last".



5.7 Adjacent sibling selectors


'The following rule is similar to the one in the previous example, except
that it adds an attribute selector. Thus, special formatting only occurs
when H1ithout exceptions.  Unless a 'font' declaration can produce
something other than declarations of its constituent properties, there is
truly no basis for saying that 'font' is not a shorthand.  The fact is that
'font' merely makes easier the assignment of values to properties; 'font'
does not introduce new properties or new values.


"p { font: x-large/110% "new century schoolbook", serif }"

Capitalize "new century schoolbook".


"system fonts can only be specified with this property, not with
'font-family'ull stop and the class name.  This discrepancy is precisely
why I advocate including COMMENT tokens explicitly where they are allowed.



5.10 Pseudo-elements and pseudo-classes


"Pseudo-classes are allowed anywhere in selectors"

Change to "Pseudo-classes are allowed in any simple selector".


"pseudo-elements may only appear after the subject of the selector"

The subjects are actual elements, not the sequence of characters
representing elements.  Thus the only thing that might follow the subject
would be another element.  Change to "pseudo-elements may appear only after
the last simple selector" or to "pseudo-elements may appear only after the
subject's simple selector".


"These pseudo-classes are not mutually exclusive."

Apparently ':hover' and ':active' are mutually exclusive, according to the
definition of ':hover': "The :hover pseudo-class applies while the user
designates an element (with some pointing device), but does not activate
it."  Note the restrictive ending clause.  I suggest a change in that
definition.


"The :active pseudo-class applies while an element is being activated by
the user. For example, between the times the user presses the mouse button
and releases it."

As discussed elsewhere, this definition is problematic in that it does not
extend over the duration of activity.



5.12.1 The :first-line pseudo-element


"<P><P:first-line><SPAN class="test"> This is a
somewhat long HTML
paragraph that will </SPAN></P:first-line>"

This way means that the real elements will override the pseudo-element's style.


"The :first-line pseudo-element can only be attached to a block-level element."

I fear that some people will read this as meaning that the following is
invalid.

  h4:first-line { display: inline; }

Change to "The :first-line pseudo-element only exists in block-level elements."

Received on Thursday, 14 November 2002 07:11:46 UTC