[csswg-drafts] The grammar for :host() and other compound-selector-taking things should forbid pseudo-element (#3963)

emilio has just created a new issue for https://github.com/w3c/csswg-drafts:

== The grammar for :host() and other compound-selector-taking things should forbid pseudo-element ==
I just realized that WebKit (but not Blink nor Gecko) parse the following selector as valid:

> :host(::before)

(or `:host(::before)::before` for that matter).

I was going to file a WebKit bug, but then realized that the grammar technically allows it. This also applies to the grammar of `:is` / `:where` (old `:matches`) etc.

I think that's wrong and pseudo-elements should not be allowed in nested selectors. WebKit itself doesn't parse, e.g., `:not(::before)`, so they're not consistent about it.

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/3963 using your GitHub account

Received on Friday, 24 May 2019 01:36:13 UTC