Contact emails
lukewarlow...@gmail.com <mailto:lukewarlow...@gmail.com>, l...@warlow.dev 
<mailto:l...@warlow.dev>

Explainer
https://github.com/whatwg/html/pull/9754

Specification
https://whatpr.org/html/9754/input.html#dom-select-showpicker

Summary
Developers have been asking for a way to programmatically open the option 
picker of a select element. See 
https://www.google.com/search?q=programmatically+open+select+site%3Astackoverflow.com

This is currently impossible in almost every browser. Providing showPicker() 
gives developers a supported way to do this. Following the pattern of 
input.showPicker().


Blink component
Blink>Forms 
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EForms>

Motivation
Developers have been asking for a way to programmatically open the option 
picker of a select element. See 
https://www.google.com/search?q=programmatically+open+select+site%3Astackoverflow.com

This is currently impossible in almost every browser. Providing showPicker() 
gives developers a supported way to do this. Following the pattern of 
input.showPicker().


Initial public proposal
https://github.com/whatwg/html/issues/7957

Search tags
showPicker <https://chromestatus.com/features#tags:showPicker>

TAG review
https://github.com/w3ctag/design-reviews/issues/900

TAG review status
Pending

Risks


Interoperability and Compatibility
For interoperability: This feature could end up not being implemented by all 
browsers, to mitigate this it's been filed as a HTML spec change with positions 
requested early to get everyone on board.

For compatibility: this feature is specified and designed to give browsers 
flexibility in whether they display a picker, or how they display it. 
Developers cannot observe either of these. Having said that all browsers 
implement pickers for select.


Gecko: No signal (https://github.com/mozilla/standards-positions/issues/886)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/258)

Web developers: No signals

Other signals:

Ergonomics
There should be no ergonomic risks with this API.


Activation
This is as simple an API as possible so should be easy for developers to make 
use of. It also follows the existing pattern from the HTMLInputElement.


Security
This API can only be used with activation inside of top level or same-origin 
frames. This should avoid any potential security issues. It also follows the 
existing pattern of HTMLInputElement showPicker()


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
No specific DevTools changes are required. This feature is treated like any 
other JS method.


Is this feature fully tested by web-platform-tests 
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
No

Flag name on chrome://flags
None

Finch feature name
HTMLSelectElementShowPicker

Requires code in //chrome?
False

Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1485010

Availability expectation
I expect this to be available in all browsers within 12 months of launch in 
Chrome.

Adoption expectation
Feature is considered a best practice for some use case within 12 months of 
reaching Web Platform baseline.

Estimated milestones
No milestones specified


Anticipated spec changes
Open questions about a feature may be a source of future web compat or interop 
issues. Please list open issues (e.g. links to known github issues in the 
project for the feature specification) whose resolution may introduce web 
compat/interop risk (e.g., changing to naming or structure of the API in a 
non-backward-compatible way).
https://github.com/whatwg/html/issues/9757 - The spec (both input and select) 
may be updated to allow showPicker to focus a control where required for 
implementation. This is not required by blink and thus should have no impact.

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5111537299881984

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 on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/521EB459-1D15-44B8-BC84-5F022100BB00%40gmail.com.

Reply via email to