This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Hello, in new module Selectors Level 4 we can use a selector list as an argument in :not() and :matches() pseudo-classes. But it will be nice (better) if one example will explain this case: div:not(.heavy, #box) {color: red} What exactly does it mean: Case1 div:not(.heavy):not(#box) {color: red} Case2 div:not(.heavy), div:not(#box) {color: red} equivalent: div:not(.heavy) {color: red} div:not(#box) {color: red} Case1 and Case2 is not the same. Case2 will style <p class="heavy"> (second rule) and <p id="box"> (first rule), but Case1 no. Maybe term's selector list in some way shown it, but one simple example can replace many long descriptions and uncertainties. The same situation is for :matches(). I check it for :-moz-any() pseudo and it works like Case2. But dont know if :-moz-any() is or will be equivalent for :matches(). At this moment there is no browser with implements the new module, so we can't test anything. On the other site, if not() and :matches() represent Case2, maybe consider adding next selector which represents Case1, like notAll(), matchesAll(), additional modyficator/identificator or sometching else. It can be short version for unnecessary repeat :not(), like: :not():not():not():not():not():not() PS. Last thing is unnecessary, I see in new level 4 we can sth like this: :not([arg=val1][arg=val2][arg=val3][arg=val4][arg=val5][arg=val6]) and you considering multiple-value matching: :not([arg=val1,val2,val3,val4,val5,val6]) << but again I wander what comma will means, conjunction or alternative.