Summary:
Prototype out the various extensions to select elements, including:
- The `<selectedcontent>` element.
- Relaxing of the parser restrictions & content model for `<select>` elements.
- Defining `appearance: base-select`, and implementing the UA Stylesheet and ShadowDOM changes relating to this new mode.
- Defining new pseudo elements such as `::picker(select)`, `::picker-icon` & `::checkmark`.
- New ARIA mappings.
Bug:
Specification:
Various specifications include this work:
Standards Body:
W3C (WHATWG, CSSWG, ARIAWG)
Platform coverage:
all.
Preference:
A variety of feature flags will be implemented so that each facet can be independently verified and/or shipped, including:
- dom.lift-select-parser-restrictions.enabled (for the new parser/content model changes)
- dom.selectedcontent.enabled (for the new `<selectecontent>` element)
- layout.css.select-pseudo-elements.enabled (for the new pseudo elements)
DevTools bug:
N/A
Link to standards-positions discussion:
Other browsers:
Blink: Positive, shipping.
WebKit: Supportive.
web-platform-tests:
Myself and other members of the DOM Core team at Mozilla will be prototyping out these features, which collectively have been called "Customizable Select". There is a large body of work here, and so we may work on (or enable in nightly) individual parts (such as lifting the parser restrictions) while ensuring web compatibility is maintained.