> Please request the various bits in your chromestatus entry, thanks. Done
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) > > 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 > > > 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/CAK6btwKmCOA4tm7N1wEQDVhqKtp0_Sn4DGEO9nu_mLhQDbqD3A%40mail.gmail.com.