Re: [csswg-drafts] [css-ui] 'auto' as the initial value for the 'appearance' property isn't web-compatible

The CSS Working Group just discussed `CSS UI 4 and appearance`, and agreed to the following resolutions:

* `RESOLVED: Put a note into "appearance" saying it's not ready to implement, list the possible solutions discussed here, ask impls which they want to do.`

<details><summary>The full IRC log of that discussion</summary>
&lt;fantasai> Topic: CSS UI 4 and appearance<br>
&lt;TabAtkins> ScribeNick: TabAtkins<br>
&lt;astearns> github: https://github.com/w3c/csswg-drafts/issues/1250<br>
&lt;TabAtkins> Florian: There's an appearance proeprty. We started standardizing it, because a lot of people use "none" on form controls to make them styleable in CSS.<br>
&lt;TabAtkins> Florian: This previous existed as a prefixed form in most browsers.<br>
&lt;TabAtkins> Florian: Before stadndardization, the values other than none was a very long list of all the ways an element could look; this list was different across browsers.<br>
&lt;TabAtkins> Florian: We concluded this was impossible to standardize, in part because many apply to pseudo-elements that other browsers don't have, as they construct form elements differently.<br>
&lt;TabAtkins> Florian: Instead, we'd just have an "auto" value that makes form controls look like whatever they need, and a "none" value that suppresses it.<br>
&lt;TabAtkins> Florian: We could possibly exxtend this into a small list of special values, like "button" to make it look like a native button, but so far ahve resolved not to.<br>
&lt;TabAtkins> Florian: Now Moz said that they need to implement all of the -webkit-appearance values.<br>
&lt;TabAtkins> Florian: I'm a little suspicious.<br>
&lt;TabAtkins> dbaron: Not sure if that's accurate.<br>
&lt;TabAtkins> dbaron: I think it's, *when* we implemented both appearance and -webkit-appearance, sites broke.<br>
&lt;TabAtkins> Florian: They first said they aliased them to each other, and that broke stuff.<br>
&lt;TabAtkins> Florian: That's expected, they're very different.<br>
&lt;TabAtkins> Florian: They said "we need to ipmlement all the -webkit values anyway, so the simple one isn't useful to us"<br>
&lt;TabAtkins> dbaron: Not sure that's what we said/meant.<br>
&lt;TabAtkins> Florian: Then I'm confused and need to know what they mean.<br>
&lt;TabAtkins> Florian: "fwiw, we intend to support -webkit-appearance with all values that Chrome supports" ~ Mats Palmgren, June 7<br>
&lt;astearns> comment here: https://github.com/w3c/csswg-drafts/issues/1250#issuecomment-306788821<br>
&lt;TabAtkins> dbaron: There are sites that specifically set "input { appearance: none; } input[type=checkbox] { appearance: checkbox; }"<br>
&lt;TabAtkins> Florian: We did say that, if needed for webcompat, we could add a handful of required values.<br>
&lt;TabAtkins> Florian: This is very different from adding all 50+ webkit values.<br>
&lt;tantek> FYI: https://bugzilla.mozilla.org/show_bug.cgi?id=1368555<br>
&lt;TabAtkins> dbaron: If that's the case, then don't put 'appearance' in a spec ready for impl.<br>
&lt;TabAtkins> dbaron: Otherwise people try to implement it.<br>
&lt;fantasai> TabAtkins: Maybe have a scary notice saying this is problemantic<br>
&lt;fantasai> Florian: I had that note. WG asked me to remove it.<br>
&lt;tantek> see the webcompat.com URLs in the above bugzilla bug<br>
&lt;fantasai> TabAtkins: I'm fine with putting note back<br>
&lt;fantasai> TabAtkins: to say that we might need some values<br>
&lt;TabAtkins> Florian: Cool. But that's different from saying we need all the webkit values. Because then we need all the webkit pseudo-elements, and I'm not speccing that.<br>
&lt;TabAtkins> jet: Doesn't mean we might not need it.<br>
&lt;TabAtkins> Florian: Maybe, but it'll be a huge effort. Need good proof it's needed.<br>
&lt;fantasai> and Florian should be given a correspondingly significant budget for working on it :)<br>
&lt;TabAtkins> TabAtkins: So suggestion: add note saying don't implement this property yet; it needs some subset of the -webkit-appearance values; impls need to tell us which subset is necessary<br>
&lt;TabAtkins> Florian: Initial draft included the other values Edge supports for -webkit; presumably that's for compat reasons.<br>
&lt;TabAtkins> Florian: WG told me to remove it.<br>
&lt;TabAtkins> gregwhitworth: My recollection was a question whether it was even needed.<br>
&lt;TabAtkins> TabAtkins: David suggested we did - his example would break checkbox rendering.<br>
&lt;TabAtkins> dbaron: I don't know the exact details, there's so many bugs and compat stuff it'll take a while to untangle.<br>
&lt;TabAtkins> Florian: So two options: none | auto | &lt;non-exhaustive-list> ; or none | &lt;exhaustive-list><br>
&lt;TabAtkins> fremy: Alternatiely: let it take any keyword, treat unknown ones as "auto".<br>
&lt;TabAtkins> Florian: That doesn't match today.<br>
&lt;TabAtkins> astearns: Why is "auto" only with non-exhaustive list?<br>
&lt;ericwilligers> +q<br>
&lt;TabAtkins> TabAtkins: We could put it with exhaustive, and we could omit it from the non-exhaustive list. Depends on details.<br>
&lt;tantek> q?<br>
&lt;astearns> ack ericwilligers<br>
&lt;TabAtkins> fremy: If you have "div { -webkit-appearance:button}", nothing happens. But "input { -webkit-appearance: none; }" does work; using "checkbox" will work on a checkbox input, but won't turn a text input into a checkbox.<br>
&lt;TabAtkins> ericwilligers: I heard dbaron say that if they ship appearance it'll break compat. Can we just change the name?<br>
&lt;fremy> TabAtkins, yes<br>
&lt;tantek> q+ to note or we go with original guidance to drop appearance from CSS UI, and let it get documented in https://compat.spec.whatwg.org/ instead (all prefix or not variants)<br>
&lt;TabAtkins> Florian: And then we can avoid saying "none", and use "normal" instead, which sounds better.<br>
&lt;tantek> per https://github.com/w3c/csswg-drafts/issues/1250#issuecomment-306788821<br>
&lt;TabAtkins> dino: Who implements unprefixed appearance?<br>
&lt;fremy> TabAtkins, input { -webkit-apperance:none} input[type=button] { -webkit-appearance: checkbox } renders as a button<br>
&lt;TabAtkins> Florian: Nobody that I know, but I last checked a while ago.<br>
&lt;TabAtkins> dbaron: We tried, but backed it out before it hit stable.<br>
&lt;TabAtkins> dbaron: It's not clear what portions of the problem were with "appearance" and which were with "-webkit-appearance".<br>
&lt;TabAtkins> dino: I was considering implementing unprefixed with just "none" and "auto".<br>
&lt;TabAtkins> ack tantek<br>
&lt;Zakim> tantek, you wanted to note or we go with original guidance to drop appearance from CSS UI, and let it get documented in https://compat.spec.whatwg.org/ instead (all prefix or not<br>
&lt;Zakim> ... variants)<br>
&lt;TabAtkins> tantek: One of the points Mats made is that this isn't a particularly useful feature for web authors.<br>
&lt;TabAtkins> tantek: So one proposal is just to drop it entirely.<br>
&lt;TabAtkins> fantasai: People use it a lot.<br>
&lt;TabAtkins> TabAtkins: I use "none" plenty to do styles on my buttons, etc.<br>
&lt;TabAtkins> dbaron: It's not cleaer to me which of these was the good reason to back the whole thing out.<br>
&lt;TabAtkins> dbaron: ONe of my guidelines is that if a user reports a bug, that's a compat problem; if the dev does, that's not a compat problem.<br>
&lt;TabAtkins> dbaron: And one of them was reported by a dev, because it comes with a jsfiddle.<br>
&lt;fantasai> s/not/not necessarily/<br>
&lt;fantasai> TabAtkins: That said, your example looks believable<br>
&lt;fantasai> TabAtkins: It would be fixed by fremy's proposal<br>
&lt;fantasai> astearns: would also be fixed by minting an entirely new property<br>
&lt;TabAtkins> astearns: So that seems like a cleaner solution.<br>
&lt;TabAtkins> TabAtkins: Possible conclusion, just leave this unresolved, but note the handful of possible solutions and ask impls to tell us which they want to do.<br>
&lt;TabAtkins> Florian: Seems better than trashing it.<br>
&lt;tantek> seems like a lot of work for very little benefit<br>
&lt;tantek> so I question why<br>
&lt;TabAtkins> RESOLVED: Put a note into "appearance" saying it's not ready to implement, list the possible solutions discussed here, ask impls which they want to do.<br>
&lt;fantasai> TabAtkins: Answer to tantek's question is that people use it for useful things today<br>
&lt;fantasai> TabAtkins: and there is no other solution for what they want today<br>
&lt;tantek> where is the documentation of the use-case in the spec? let's drop a URL here for the minutes<br>
</details>


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

Received on Thursday, 3 August 2017 15:26:46 UTC