I'm an enthusiastic LGTM1 on this; thank you so much for pushing this 
forward.

As part of my vote here, I want to explicitly set the marker that when this 
ships, incompatible changes will be looked at with extreme skepticism. This 
is our usual *modus operandi* when we approve an I2S, but given how far 
ahead we are here, I want to reiterate that this is pouring the concrete, 
and we won't green-light incompatible changes, no matter how convinced 
folks at WHATWG are late in the game.

Best,

Alex

On Wednesday, January 29, 2025 at 7:57:43 AM UTC-8 Daniel Bratell wrote:

> I think this is a very exciting improvement to the web platform so thanks 
> for all the work! That said, I would want to know more about the 
> interoperability picture. Both Mozilla and WebKit have been scarily passive 
> on their standard position issues, even if they have excited engineers 
> working on the spec. When could a web developer expect this to work all 
> across the web?
>
> /Daniel
> On 2025-01-28 17:55, Joey Arhar wrote:
>
> > There's an impressive amount of related spec work here, and not all of 
> it landed. How should we think about this? Is everything on track to land, 
> or are some issues/PRs non-blockers to the feature?
>
> Yes they're on track to land once editorial review has completed, and no 
> blocking concerns have been raised other than the two mentioned in the 
> "Anticipated spec changes" section of the intent to ship. It's possible 
> other vendors will raise new concerns but we haven't heard any.
>
> > How should we think about the tests that we are failing?
>
> Some of the tests are flaky, as you can see since some are passing in Edge 
> (Windows) but not Chrome (Linux) or vice-versa. There are some open bugs 
> about the flakiness that we are working on, but it's important to note that 
> the feature itself works correctly.
>
> On Tue, Jan 28, 2025 at 8:36 AM Mike Taylor <miketa...@chromium.org> 
> wrote:
>
>> On 1/28/25 11:03 AM, Joey Arhar wrote:
>>
>> > Please request the various bits in your chromestatus entry, thanks.
>>
>> Done
>>
>> Thanks, Joey.
>>
>>
>> On Tue, Jan 28, 2025 at 7:17 AM Mike Taylor <miketa...@chromium.org> 
>> wrote:
>>
>>> Please request the various bits in your chromestatus entry, thanks.
>>> On 1/24/25 1:20 PM, Joey Arhar wrote:
>>>
>>> Contact emails 
>>>
>>> jar...@chromium.org, mas...@chromium.org, dan...@microsoft.com
>>>
>>> Explainer 
>>>
>>> https://open-ui.org/components/select
>>>
>>> Specification 
>>>
>>> https://github.com/whatwg/html/issues/9799 (see sub-PRs linked there)
>>>
>>> There's an impressive amount of related spec work here, and not all of 
>> it landed. How should we think about this? Is everything on track to land, 
>> or are some issues/PRs non-blockers to the feature?
>>
>> Design docs 
>>>
>>> https://open-ui.org/components/select
>>>
>>> Summary 
>>>
>>> Customizable <select> allows developers to take complete control of the 
>>> rendering of <select>, including the ability to fully customize both the 
>>> in-page “button” element as well as the popup picker, with arbitrary 
>>> content within options. Developers can opt in to this new behavior with a 
>>> simple CSS declaration that uses a new `base-select` value for the 
>>> `appearance` property.
>>>
>>> This new capability has been in development for a very long time, 
>>> starting in late 2019 <https://www.youtube.com/watch?v=ZFvPLrKZywA> in 
>>> earnest (with the original explainer 
>>> <https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/ControlUICustomization/explainer.md>
>>>  
>>> from June 2020). Due to that early work, two other platform APIs were 
>>> identified as prerequisites for customizable-<select>: the popover API and 
>>> anchor positioning. Now, with both of those APIs landed in standards and 
>>> browsers, the customizable-<select> is unblocked.
>>>
>>> Once the customizable-<select> feature began to get discussed in 
>>> standards (at OpenUI in 2020 
>>> <https://github.com/openui/open-ui/issues?q=is%3Aissue%20label%3Aselect%20sort%3Acreated-asc>,
>>>  
>>> and in WHATWG <https://github.com/whatwg/html/issues/9799> and CSSWG in 
>>> mid-2023), it rapidly evolved. Not only did the names of the elements 
>>> change (<selectmenu>, <selectlist>, then <select>, etc.) but the shape of 
>>> the API changed considerably. It evolved from a very shadow-DOM centric API 
>>> using things like the slot attribute to a more HTML-like API using new 
>>> elements such as the <selectedcontent> element. The WHATWG/CSSWG/OpenUI 
>>> joint task force worked through the question of how to opt-in to the new 
>>> behavior, selecting among a new element, an HTML attribute, a CSS property, 
>>> or something else, and arrived at a consensus of using the CSS 
>>> appearance property. Many discussions were had (e.g. in OpenUI 
>>> <https://github.com/openui/open-ui/issues/540> and WHATWG 
>>> <https://github.com/whatwg/html/issues/10317>) about the content model 
>>> and the allowed set of controls, to ensure the new control is accessible 
>>> and rational, while still providing a very flexible, powerful API to 
>>> developers. Overall, the standards process shaped this API into something 
>>> that follows platform conventions, has natural naming and methods to 
>>> achieve goals, and builds naturally upon recently added features such as 
>>> popover, anchor positioning, interactivity:inert, and many others. In 
>>> addition, the construction of the customizable-<select> API has been a huge 
>>> catalyst to find other missing platform features and quirks, such as corner 
>>> cases <https://github.com/whatwg/html/pull/10770> in the popover API.
>>>
>>> Throughout this process, we’ve worked hard to reach out to the developer 
>>> community, to ensure all common use cases are supported, there aren’t 
>>> lingering compat issues, and the new customizable-<select> control is as 
>>> accessible as possible. In some cases, e.g. the necessary changes to the 
>>> HTML parser to allow arbitrary content, there is still some compat risk. We 
>>> are working hard to increase our confidence that we can ship those changes 
>>> via (separate <https://chromestatus.com/feature/5145948356083712>) 
>>> Finch testing and rollout. However, at this point, we are confident that we 
>>> have reached a stable API shape with a low level of risk.
>>>
>>> Blink component 
>>>
>>> Blink>Forms>Select
>>>
>>> Search tags 
>>>
>>> select <https://chromestatus.com/features#tags:select>, custom select 
>>> <https://chromestatus.com/features#tags:custom%20select>, controls 
>>> <https://chromestatus.com/features#tags:controls>, form controls 
>>> <https://chromestatus.com/features#tags:form%20controls>, custom 
>>> controls <https://chromestatus.com/features#tags:custom%20controls>, custom 
>>> form controls 
>>> <https://chromestatus.com/features#tags:custom%20form%20controls>
>>>
>>> TAG review 
>>>
>>> https://github.com/w3ctag/design-reviews/issues/1007
>>>
>>> TAG review status 
>>>
>>> Issues resolved
>>>
>>> Risks 
>>>
>>> Interoperability and Compatibility 
>>>
>>> Interop risk is low because we have been designing this feature closely 
>>> with Apple and Mozilla during the standardization process over the last 15 
>>> months.
>>>
>>> Changing the HTML parser for <select> elements is a prerequisite for 
>>> this change and has some compat risks, which had a separate intent here: 
>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/5_9-Qkvlj2M/m/Q96A126vAAAJ
>>>
>>> Gecko: No signal
>>>
>>> https://github.com/mozilla/standards-positions/issues/1060
>>>
>>> WebKit: No signal
>>>
>>> https://github.com/WebKit/standards-positions/issues/386
>>>
>>> Web developers: Very strongly positive
>>>
>>> https://2024.stateofhtml.com/en-US/features/#reading_list
>>>
>>> Other signals:
>>>
>>> Ergonomics 
>>>
>>> None in particular.
>>>
>>>
>>> Activation 
>>>
>>> Clear documentation will be required to help developers understand the 
>>> opt in and how to style and replace various parts of the new select 
>>> element. We already have some documentation here but will create another 
>>> blog post for launching the feature:
>>>
>>>    - 
>>>    
>>>    https://developer.chrome.com/blog/rfc-customizable-select
>>>    - 
>>>    
>>>    https://una.im/select-updates/
>>>    
>>>
>>>
>>> Security 
>>>
>>> The picker for customizable select does not extend outside of the web 
>>> contents like an appearance:auto select does, so there should not be any 
>>> new capabilities exposed which would have security considerations.
>>>
>>>
>>> WebView application risks 
>>>
>>> Does this intent deprecate or change behavior of existing APIs, such 
>>> that it has potentially high risk for Android WebView-based applications?
>>>
>>> None
>>>
>>>
>>> Debuggability 
>>>
>>> The customizable select should already be fairly debuggable via existing 
>>> DevTools features. The new select does add a few new pseudo-elements, which 
>>> have been added to DevTools.
>>>
>>>
>>> Will this feature be supported on all six Blink platforms (Windows, Mac, 
>>> Linux, ChromeOS, Android, and Android WebView)? 
>>>
>>> Yes
>>>
>>> Is this feature fully tested by web-platform-tests 
>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>> ? 
>>>
>>> Yes
>>>
>>>
>>> https://wpt.fyi/results/html/semantics/forms/the-select-element/customizable-select
>>>
>>> How should we think about the tests that we are failing?
>>
>>
>>> Flag name on about://flags 
>>>
>>> None
>>>
>>> Finch feature name 
>>>
>>> CustomizableSelect
>>>
>>> Non-finch justification 
>>>
>>> None
>>>
>>> Requires code in //chrome? 
>>>
>>> False
>>>
>>> Tracking bug 
>>>
>>> https://crbug.com/40146374
>>>
>>> Estimated milestones 
>>>
>>> 134
>>>
>>>
>>> Anticipated spec changes 
>>>
>>> Customizable select is currently in stage 2 
>>> <https://whatwg.org/stages#stage2> in WHATWG. We have had spec PRs open 
>>> for review since August of last year 
>>> <https://github.com/whatwg/html/pull/10548>, and we have been 
>>> repeatedly asking for reviews and feedback at WHATNOT meetings. However, we 
>>> have not received stage 3 <https://whatwg.org/stages#stage3> approval 
>>> yet, which means that the other implementers have not yet signed off on the 
>>> final design. These are the only remaining open issues that have been 
>>> raised, and we don’t anticipate any significant changes based on the 
>>> resolutions of these:
>>>
>>>    - 
>>>    
>>>    Should alt text be included in select.value? 
>>>    <https://github.com/whatwg/html/issues/10317>
>>>    - 
>>>    
>>>    How should we write about user interactions and events in the spec? 
>>>    <https://github.com/whatwg/html/issues/10762> 
>>>    
>>>
>>> Link to entry on the Chrome Platform Status 
>>>
>>> https://chromestatus.com/feature/5737365999976448
>>>
>>> This intent message was generated by Chrome Platform Status 
>>> <https://chromestatus.com/>.
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "blink-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to blink-dev+unsubscr...@chromium.org.
>>> To view this discussion visit 
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK6btw%2BX5UTWoDCGNUCpEUHYh%2BhgddTgOerGHugFnBGbQnb-Rg%40mail.gmail.com
>>>  
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK6btw%2BX5UTWoDCGNUCpEUHYh%2BhgddTgOerGHugFnBGbQnb-Rg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> -- 
> You received this message because you are subscribed to the Google Groups 
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to blink-dev+unsubscr...@chromium.org.
>
> To view this discussion visit 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK6btw%2BnT5aX9dncP%2BQ2gUDzYKpYsD2ZJUCQXHAJJnrLR8WHsA%40mail.gmail.com
>  
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK6btw%2BnT5aX9dncP%2BQ2gUDzYKpYsD2ZJUCQXHAJJnrLR8WHsA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/366a2bc8-7cd3-45dc-9345-1008c69f3706n%40chromium.org.

Reply via email to