Re: [csswg-drafts] [css-ui] Clarify scope of implementation-defined behavior for native appearance (and primitive appearance) (#9919)

The CSS Working Group just discussed `[css-ui] Clarify scope of implementation-defined behavior for native appearance (and primitive appearance)`, and agreed to the following:

* `RESOLVED: Disregarding CSS properties on widgets with native appearance must not affect computed values (unless required for Web-compat)`

<details><summary>The full IRC log of that discussion</summary>
&lt;fantasai> emilio: Seems like Webkit, but not Gecko, change the computed value of some CSS properties based on `appearance`, including `display`<br>
&lt;fantasai> emilio: Seems like the spec has language about disregarding some CSS properties, which is true<br>
&lt;fantasai> emilio: Gecko does that at used-value time<br>
&lt;fantasai> emilio: and don't do it much anymore<br>
&lt;fantasai> emilio: but we need to define whether `appearance` changes values at computed or used value tie<br>
&lt;fantasai> s/tie/time<br>
&lt;fantasai> florian: Part of the idea here is that if you're in native appearance mode, the way you're rendered might not be describable by CSS at all<br>
&lt;fantasai> florian: to the extent it does, it might be nice to hint at how<br>
&lt;fantasai> florian: but this was an allowance for not being describable by CSS<br>
&lt;fantasai> emilio: so it seems like it shouldn't affect computed values<br>
&lt;fantasai> florian: that makes sense to me<br>
&lt;fantasai> emilio: WebKit is forcing `display: grid` on &lt;input switch> which doesn't seem great to me, especially since other form controls don't do that<br>
&lt;fantasai> iank_: That seems not great to me<br>
&lt;fantasai> iank_: We do this as part of final step in computation, and only for border-padding on checkbox/radio and one more small thing<br>
&lt;emilio> https://github.com/w3c/csswg-drafts/issues/3257<br>
&lt;fantasai> emilio: the other one I'm ware of is line-height: normal on select<br>
&lt;fantasai> emilio: and that sucks<br>
&lt;fantasai> emilio: so given everything else doesn't touch computed values, can we agree on not doign this at computed value time when possible?<br>
&lt;fantasai> emilio: and in the future? except for existing compat?<br>
&lt;fantasai> florian: Situation is, if I'm understnading correctly, in order not mess with native appearance ...<br>
&lt;fantasai> emilio: if effective appearance is not none, then for legacy reasons you need to disregard author-set border and padding<br>
&lt;fantasai> emilio: Gecko does it at used-value time, and Blink does it at used value-time<br>
&lt;fantasai> iank_: We'll go through creating computed style, then look at appearance, see that it's not none, and then force-reset the border, as if it as 'border: none !important'.<br>
&lt;fantasai> florian: I would agree that should be done at used-value time<br>
&lt;fantasai> florian: whether you fix the value by [...] then you shouldn't be able to tell the difference<br>
&lt;fantasai> iank_: how do you do it at used-value time?<br>
&lt;fantasai> emilio: when we are laying out, we override the border<br>
&lt;fantasai> emilio: [various things] are not great<br>
&lt;fantasai> florian: I would agree with used value, and don't expose in the OM<br>
&lt;fantasai> florian: the further we can go in that direction the better<br>
&lt;fantasai> iank_: In general, I would prefer if we didn't rely on this mechanism more<br>
&lt;fantasai> s/this/this computed-value-changing/<br>
&lt;fantasai> emilio: especially as more features rely on dependencies on properties, this will only cause more confusion and weird behavior<br>
&lt;fantasai> florian: Proposed that disregarding CSS properties when widgets have their native appearance must not change the computed value<br>
&lt;fantasai> iank_: Going forward<br>
&lt;dbaron> iank_: we might have a compat issue for checkboxes/radios<br>
&lt;fantasai> florian: would prefer to avoid making used values visible also, but can live with it for compat<br>
&lt;fantasai> iank_: It can be visible through used values<br>
&lt;fantasai> florian: shaded-wavy-border-style is not visible through OM, but 2px thickness is, ideally we don't expose either<br>
&lt;fantasai> iank_: changing the internals to grid will change how baselines are calculated, and that's observable<br>
&lt;fantasai> iank_: so these things are observable at used time<br>
&lt;fantasai> emilio: but shouldn't be observed at computed value time<br>
&lt;fantasai> iank_: would prefer if only going forward<br>
&lt;fantasai> fantasai: how about "unless required by Web-compat"<br>
&lt;fantasai> iank_: ok<br>
&lt;fantasai> Rossen_: any objections?<br>
&lt;fantasai> RESOLVED: Disregarding CSS properties on widgets with native appearance must not affect computed values (unless required for Web-compat)<br>
</details>


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


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

Received on Wednesday, 14 February 2024 00:55:06 UTC