Contact emails [email protected]
Explainer https://github.com/whatwg/html/pull/7319 Specification https://html.spec.whatwg.org/multipage/input.html#dom-input-showpicker Summary The HTMLInputElement showPicker() method allows web developers to programmatically show a browser picker for input elements (temporal, color, file, and those with suggestions like datalist or autofill). Blink component Blink>Forms <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EForms> Motivation Developers have been asking for years for a way to programmatically open a browser date picker. See https://www.google.com/search?q=programmatically+open+date+picker+site:stackoverflow.com <https://www.google.com/search?q=programmatically+open+date+picker+site%3Astackoverflow.com> Because of that, they had to rely on custom widget libraries and CSS hacks for specific browsers. This is currently possible in some browsers, for some controls, via the click() method. However this is not interoperable ( https://github.com/whatwg/html/issues/6909#issuecomment-897097048) and considered a bad idea ( https://github.com/whatwg/html/issues/3232#issuecomment-345279014). Providing showPicker() gives developers a supported alternative to click(), and will allow us to align Chromium's click() behavior with the specification and other browsers in a future Intent to Ship. Initial public proposal https://github.com/whatwg/html/issues/6909 TAG review https://github.com/w3ctag/design-reviews/issues/688 TAG review status Pending Risks Interoperability and Compatibility For interoperability: This feature was developed in collaboration with Gecko engineers, who are positive. It also will help with improving click() interoperability in the future, which is currently messy ( https://github.com/whatwg/html/issues/6909#issuecomment-897097048). 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 things (except for file pickers, which fire certain events), so we will not be constrained by any JavaScript-observable behavior if we need to make future changes to form control UIs. Gecko: Positive - https://github.com/whatwg/html/pull/7319#issuecomment-988837778 WebKit: No signal - https://lists.webkit.org/pipermail/webkit-dev/2021-December/032071.html Web developers: Positive - https://twitter.com/quicksave2k/status/1420320560345661440 (6 Retweets and 29 Likes) - https://github.com/whatwg/html/issues/6909 (9 👍 and 5 ❤️) show that developers like this particular solution. Plus the evidence of developer interest in the use case, per the Motivation section above. Debuggability No specific DevTools changes are required. This feature is treated like any other JS method. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? Yes Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> ? No. We are able to test the error case behaviors but the actual showing of the picker is not testable using WPT. https://github.com/web-platform-tests/wpt/tree/master/html/semantics/forms/the-input-element Flag name chrome://flags/#enable-experimental-web-platform-features Requires code in //chrome? False Tracking bug https://bugs.chromium.org/p/chromium/issues/detail?id=939561 Estimated milestones M99 Link to entry on the Chrome Platform Status https://www.chromestatus.com/feature/5692248021794816 Links to previous Intent discussions Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/fEebe5uXQ1I -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5Lh3nwAzZs4P1eHdg80dViZomPc%2BY0HpQ9HYpxgUSgnQA%40mail.gmail.com.
