Re: [w3ctag/design-reviews] CSS Selectors 4 (#219)

Stream of consciousness reading the spec:

 * The [Overview Section](https://drafts.csswg.org/selectors-4/#overview) is slightly misleading regarding selectors that accept [Selector Lists](https://drafts.csswg.org/selectors-4/#grouping). E.g., instead of `E:not(s1, s2)`, consider `E:not(s1, s2, ...)`
 * `:something` (specificity adjustment) seems useful, but perhaps under-powered. Has the WG considered a modifier which would enable dropping the specificity of the left-hand side of a selector as well?
 * It seems there are quite a few missing examples in the text, and some examples don't discuss the Level 4 syntax (e.g., `:not()`).
 * It'd be great if there was a companion doc that detailed the motivations for these additions. What problems are they solving? How do we know that those problems are important? What design alternatives were considered and why were these versions chosen? This tends to be what's in an "[Explainer](https://docs.google.com/document/d/1cJs7GkdQolqOHns9k6v1UjCUb_LqTFVjZM-kc3TbNGI/edit)" (along with sample code that shows how the solution addresses the stated problems).
 * It's rather unfortunate to see input element state bleeding into everything. The new input-related pseudos seem like they could be perhaps subsumed by [`::part`](https://meowni.ca/posts/part-theme-explainer/) or an extension to that (/cc @notwaldorf)
 * The `||` (column) combinator reads to this programmer like "OR" 😞 

Overall this looks well done, and I'm glad to see there aren't many new descendant selectors (modulo the grid structural selectors).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3ctag/design-reviews/issues/219#issuecomment-362625271

Received on Friday, 2 February 2018 17:30:59 UTC