[selectors] Special cases in the definition of :not()


I am slowly starting to look into Selectors Level 4 and I would like
some explanation on the simple selector :not().

I am curious why there are limitations on the nesting of :not() with
other functional pseudo classes. The combinations ":matches(:not(...))",
:not(:matches(...)) or :not(not()) seem useful for authors and easy to 

An other point of the definition that strikes me as odd is the usage of
a selector list as the argument. This seems to be equivalent to
:not(:matches(...)) while providing a more complicated syntax.

I would be interested to know the rationale behind those choices.

If the limitations are just carried over from Level 3, I think it would
be useful to drop all restrictions except the pseudo-element matching.

The pseudo class :not() could then just be a logical NOT operation over
a single compound selector.


Received on Tuesday, 5 August 2014 15:02:06 UTC