Re: [Selectors] Clarify when universal selector may be omitted

fantasai On 09-10-20 04.20:

> Boris Zbarsky wrote:
>> On 9/29/09 8:06 PM, Leif Halvard Silli wrote:
>>>> Which means that while you can omit the whole thing, you can't just
>>>> omit the '*' and include the namespace component, Webkit's behavior to
>>>> the contrary notwithstanding.
>>> What seems strictly necessary is to better the CSS 3 Selectors text
>>> which, by quoting CSS21, is focusing on the "*" character:
>>>
>>> "If the universal selector is not the only component of a sequence of
>>> simple selectors, the * may be omitted."
>> Ah, yes.  That should say "the universal selector may be omitted", 
>> presumably, though then it should also say something about how the 
>> universal selector needs to be in the default namespace for that to 
>> work.  I agree that sentence is just wrong.
> 
> I've updated the spec to clarify this:
>    http://dev.w3.org/cvsweb/csswg/selectors3/Overview.html.diff?r1=1.46&r2=1.47&f=h
> 
> Please let me know if this addresses your comments.

Nits: you wrote "an an" instead of "an" (first sentence).

Proposal/Comment

In short, I suggest that the last sentence should start like this 
(my changes in UPPERCASE):

    <p>If a universal selector represented by THE <code>*</code> 
ONLY (THAT IS: without a namespace prefix) is not immediately 
followed by a pseudo-element AND ALSO IS NOT the only component IN 
a sequence of simple selectors, then [ ... etc]

Background/Explanations

This is your proposed version of the last paragraph:

   <p>If a universal selector represented by <code>*</code> 
(without a namespace prefix) is not the only component of a 
sequence of simple selectors or is immediately followed by a 
pseudo-element, then the <code>*</code> may be omitted and the 
universal selector's presence implied.</p>

   1. How many conditions does this sentence have? 2 or 3? It is 
formulated as if it has only two conditions: "not the only 
component" and "followed by a pseudo-element". But actually, the 
"(without a namespaces prefix)" hides in the parenthesis as a 
third condition.

   It may be better to present all 3 conditions on "the same 
level", that is: reworded to not use the parenthesis. OR, if the 
parenthesis is meant as a redundant rewording of what is expressed 
outside the parenthesis, then I would suggest that it is edited to 
begin with the wording "that is" - something like this:

    (that is: without a namespace prefix)

2. I would suggest starting with the pseudo-element condition, 
instead of the "not only component" condition - so as to not 
express the most obvious condition first. It just feels more 
natural that way. Also note that in my proposal I have two 
outspoken "is not" conditions instead of only one.
-- 
leif halvard silli

Received on Tuesday, 20 October 2009 18:13:06 UTC