Re: [csswg-drafts] [selectors] Should :not(foo) match the host of the shadow tree? (#10179)

So if I understand correctly, your proposal would be that a selector needs to fall into one of these cases:
 - It's not allowed to match the host
 - It's allowed to match the host, but doesn't match it
 - It matches the host

Then, for simple selectors:
 - `:host` matches the host
 - `:is()` / `:where()` matches the host if some of its arguments matches the host, otherwise it's allowed to match the host but doesn't match it if some of its arguments is allowed to match the host but doesn't match it, otherwise it's not allowed to match the host.
 - `:not()` is allowed to match the host but doesn't match it if some of its arguments matches the host, otherwise it matches the host if some of its arguments is allowed to match the host but doesn't match it, otherwise it's not allowed to match the host.
 - Other simple selectors aren't allowed to match the host.

For selector lists: same as `:is()` / `:where()`.

I'm less sure about compound and complex selectors:
- Should `:not(.foo:host)` match even though `:not(.foo), :not(:host)` doesn't?
- Should `:not(:host > .foo)` match even though `:root.foo, :not(:host) > .foo, :host > :not(.foo)` doesn't?

-- 
GitHub Notification of comment by Loirooriol
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/10179#issuecomment-2091888392 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 2 May 2024 23:07:53 UTC