-
Notifications
You must be signed in to change notification settings - Fork 715
[css-ui] Add caret/menulist-textfield/menulist-text appearance values #3529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I disagree that Regarding |
Making it like
https://www.chromestatus.com/metrics/feature/timeline/popularity/1355 I don't know if it is really needed, it just seemed like a safer option to support it. Looking at examples from httparchive it seems it's mostly used on text fields to "remove the border", but they typically also set |
I think it's an invalid assumption that not painting the border on a Thanks for the info on |
css-ui-4/Overview.bs
Outdated
@@ -1795,7 +1795,7 @@ so that CSS can be used to restyle them. | |||
|
|||
<pre class="propdef"> | |||
Name: appearance | |||
Value: ''appearance/none'' | ''auto'' | ''button'' | <<compat>> | |||
Value: ''appearance/none'' | ''caret'' | ''menulist-textfield'' | ''menulist-text'' | ''auto'' | ''button'' | <<compat>> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest grouping these values in another non terminal, like <<compat>>
. Maybe call them <<compat-auto>>
and <<compat-none>>
to distinguish. That way, the propdef value definition emphasizes to authors the main values to be used manually, and all the rest that's needed to behave one way or another for compat reasons is specified, without drawing too much attention to it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
The legacy behavior of appearance in general is overly complicated, so to the extent that compat allows, I am supportive of making more values be exact equivalents of In this case, can we? @MatsPalmgren points out that there is a side effect, so we should at least be careful, but @zcorpan's research seems to indicate that by and large people don't depend on that difference. @zcorpan can you share a bit more about what led you to that conclusion? |
This comment in bugzilla is what I was looking for: https://bugzilla.mozilla.org/show_bug.cgi?id=1500423#c62 Your proposal seems safe to me indeed. @MatsPalmgren does that work for you? |
This is an alias to 'none' for better web compat (compared to not supporting the value at all or making it equivalent to 'menulist'). See https://bugzilla.mozilla.org/show_bug.cgi?id=1500423#c62 [css-ui] Add 'caret' appearance value This value is supported cross-browser, but does different things. In EdgeHTML/WebKit/Chromium, it is like 'none' but the border is not painted. In Gecko, it is like 'none'. Chrome Use counter for this value is ~0.266%. https://www.chromestatus.com/metrics/feature/timeline/popularity/1355 Add menulist-text as an alias to none Use <compat-none> and <compat-auto>
7f61c0e
to
5d93bc2
Compare
I've addressed @frivoal's comment and rebased. Also cc @tkent-google - do you think this change is acceptable/good/bad? |
I think 'listbox' can be an alias to 'none' as well. A |
As for 'caret', apparently it used to render the border and this changed (in 2014?) to not render the border, which regressed rendering according to this: (found via https://bugzilla.mozilla.org/show_bug.cgi?id=1481632 ) |
Please hold this change. https://www.chromestatus.com/metrics/feature/timeline/popularity/1355 counts in CSS parsing. It counts unused rule sets, and It is not appropriate for evaluating the removal impact. |
Per https://www.chromestatus.com/features/schedule 72 reached stable yesterday, but I suppose it needs a few more days before the stats are accurate?
OK, but the values specified in this PR all have some usage based on httparchive analysis, in some cases on Examples:
Not parsing these values at all would have such |
We don't push Chrome 72 to all clients yet. It needs a few days after all clients are updated. Both of removing the keywords and aliasing them to |
Per https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/ldH_uIfk_QE/Ua0bGyLIAwAJ the With the assumption that the change will stick and there are no objections, I'll update this PR and the tests to match. The remaining change in this PR is that http://software.hixie.ch/utilities/js/live-dom-viewer/saved/6909 |
The change in Chromium removes these keywords that are currently in the spec or in this PR
|
This PR is now superseded by #3942 |
This is an alias to 'none' for better web compat (compared to not
supporting the value at all or making it equivalent to 'menulist').
See https://bugzilla.mozilla.org/show_bug.cgi?id=1500423#c62