Re: [csswg-drafts] [selectors] Backwards combinators (#12453)

OK, thinking more about it, I agree with @LeaVerou

For example, consider `A B C D`: it's equivalent to `:is(:is(A B) C) D`, not to `A :is(B :is(C D))` or such.
So `A B < C D` is equivalent to:

```
A B < C D
    ▼ group pairwise
:is(:is(A B) < C) D
    ▼ apply the definition of <
:is(C:has(> :is(A B))) D
    ▼ omit unneeded :is()
C:has(> :is(A B)) D
```

This is actually orthogonal to how you read the selector, which IMO is still easier to do right-to-left: "Select every D element which is a descendant of an element C which is the parent of an element B which is a descendant of an element A".

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


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

Received on Monday, 7 July 2025 20:51:52 UTC