Re: [csswg-drafts] [selectors] What is the reasoning for ignoring defaullt namespaces only on the subject for :is() / :where() / :not()? (#5684)

> I guess the idea is that the default namespace for the compound has already been applied to the left of the :is effectively?

Correct. The general intuition is that, given a selector `AB`, replacing that with `A:is(B, C)` should match all the same elements, and possibly more. If that line wasn't there, then going from `svg|a:hover` to `svg|a:is(:hover, :focus)` would cause the selector to stop matching anything at all when a non-SVG default namespace was in effect.

Same argument for the other combo pseudo-classes; they're all intended to be useful as syntax sugar, and ignoring the default namespace as specified is required for that to work intuitively.

(Hm, the same argument probably applies for `:nth-child()`; going from `AB` to `A:nth-child(n of B)` shouldn't reduce the number of matched elements. We should fix that.)

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


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

Received on Tuesday, 16 January 2024 20:47:00 UTC