Re: [csswg-drafts] [css-nesting] Problem with mixing properties and selectors (#8249)

I can't say #7961 'totally' resolves my objections. But it does remove many of my issues with option 3, and I hope that option 3 is now formally off the table.

The look-ahead approach, while much better than option 3, still has some issues, namely:
* Requires parser changes - these have bitten us in the past more often than not and must not be taken lightly.
* Still has some restrictions on future syntax, they are much smaller than option 3, but they exist.
* Has issues with error recovery. Since declaration recovery and rule recovery differ, unrecognized rules in declaration blocks will eat the following declaration. This will surprise authors.
* We still need to define feature detection somehow.
* The syntax, while SASS-like, doesn't have quite the same behavior.

While none of these are show-stoppers in an of themselves, we still have the alternative of using an at-rule (several of the proposals so far can even be supported in parallel). The advantages of that approach are:
* No parser changes.
* No restrictions on the language.
* Consistent and predictable error recovery.
* Easy and obvious how to feature detect.
* No conflicts with SASS (not sure if other preprocessors use an at-rule here).

The disadvantages are:
* Slightly more to type.
* Possibly requiring an extra level of indenting.

I still want the WG to take a step back and consider both approaches with fresh eyes, evaluating all the advantages and disadvantages of each. Provided we do that and come to a clear conclusion, I won't object to either path.

FWIW, my vote is still for an at-rule approach. It's not as pretty, but it's safe and easy to explain with no surprises down the road.


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


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

Received on Wednesday, 5 April 2023 00:47:51 UTC