Re: [css-houdini-drafts] [css-properties-values-api] Make all the descriptors optional (#994)

The CSS Working Group just discussed `make P&V API descriptors optional`, and agreed to the following:

* `RESOLVED: keep all fields in @property required`

<details><summary>The full IRC log of that discussion</summary>
&lt;TabAtkins> Topic: make P&amp;V API descriptors optional<br>
&lt;TabAtkins> github: https://github.com/w3c/css-houdini-drafts/issues/994<br>
&lt;fremy> AmeliaBR: with the at-property rule shipping, people started taking a look<br>
&lt;fremy> AmeliaBR: there were complaints that all the fields have to be explicit<br>
&lt;fremy> AmeliaBR: and this is not very css-y<br>
&lt;fremy> AmeliaBR: in general, css does handle defaults better<br>
&lt;fremy> AmeliaBR: and by making all these things be required, you remove some behaviors<br>
&lt;fremy> AmeliaBR: reasons why people use this<br>
&lt;fremy> AmeliaBR: - transition values<br>
&lt;fremy> AmeliaBR: - prevent inheritance<br>
&lt;fremy> AmeliaBR: - provide default value<br>
&lt;fremy> AmeliaBR: you don't always want all three<br>
&lt;fremy> AmeliaBR: and now you have to set all of them, which is not always useful<br>
&lt;fremy> AmeliaBR: worse, you cannot say "this is a color or it is invalid"<br>
&lt;fremy> TabAtkins: that default value thing is a different issue<br>
&lt;fremy> TabAtkins: I agree we should fix this<br>
&lt;fremy> TabAtkins: the other two cases<br>
&lt;fremy> TabAtkins: the inheritance one is that in JS, true has a default value is not logical<br>
&lt;fremy> TabAtkins: and we don't want to default to inheritance, because this is more costly<br>
&lt;fremy> TabAtkins: but having the default be the revert of the normal choice is confusing<br>
&lt;fremy> TabAtkins: so, we think forcing people to think about this is good<br>
&lt;fremy> TabAtkins: I think that issue is well settled, we really want to keep this in<br>
&lt;fremy> TabAtkins: for the syntax, we could use the unrestricted syntax "*" as a default<br>
&lt;fremy> TabAtkins: but I don't think that this is what you want<br>
&lt;fremy> TabAtkins: because it cannot do anything useful for you with this syntax<br>
&lt;fremy> TabAtkins: if we make this required, authors get an error, and they learn about this<br>
&lt;fremy> TabAtkins: and they realize they could have a better behavior<br>
&lt;AmeliaBR> q?<br>
&lt;fremy> TabAtkins: and "*" is not that common so I don't think it will be common enough to warrant the default<br>
&lt;fremy> TabAtkins: and there are other places in css where we force people to specify a value even if we have an obvious default<br>
&lt;fremy> TabAtkins: like for example fonts<br>
&lt;fremy> TabAtkins: we force you to say "serif" as fallback<br>
&lt;fremy> TabAtkins: even though it could be implied<br>
&lt;fremy> TabAtkins: but we thought forcing people to think about the fallback is useful<br>
&lt;fremy> AmeliaBR: you said that throwing an error makes more sense<br>
&lt;fremy> AmeliaBR: but in the non-declarative syntax, this works differently<br>
&lt;fremy> emilio: there are browsers where you can see CSS errors<br>
&lt;fremy> emilio: ;-)<br>
&lt;fremy> TabAtkins: I think this information is surfacable<br>
&lt;fremy> TabAtkins: if some browsers have a less-than-useful way of surfacing this, we can fix<br>
&lt;fremy> TabAtkins: but I still think "hey this doesn't work" is better than making it work less well<br>
&lt;fremy> TabAtkins: AmeliaBR do you feel about this strongly?<br>
&lt;fremy> AmeliaBR: not a huge deal I guess, won't object<br>
&lt;fremy> AmeliaBR: however, I think that the solution to the other issue is very important<br>
&lt;fremy> TabAtkins: yes, that's another issue, and there is another thread about that, and I think we are in agreement with what you wanted?<br>
&lt;fremy> AmeliaBR: can you send a pointer?<br>
&lt;fremy> TabAtkins: yes, issue ???<br>
&lt;astearns> https://github.com/w3c/csswg-drafts/issues/5370<br>
&lt;fremy> TabAtkins: so, it sounds like we should be able to resolve to close this issue no change for now<br>
&lt;fremy> TabAtkins: any final objection?<br>
&lt;fremy> RESOLVED: keep all fields in @property required<br>
</details>


-- 
GitHub Notification of comment by css-meeting-bot
Please view or discuss this issue at https://github.com/w3c/css-houdini-drafts/issues/994#issuecomment-667252362 using your GitHub account


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

Received on Friday, 31 July 2020 17:50:22 UTC