v134 · dom / html parser

Custom Option Builder

Build a <select> with non-option content: color swatches, badges, dividers. The relaxed HTML parser in Chrome 134 accepts arbitrary elements inside <select> — the foundation for customizable <select> with rich option content.

checking relaxed select parser…
Chrome 134 relaxes the HTML parser to allow <div>, <span>, <img>, and other elements inside <select>. Previously, the parser would immediately drop these elements and only keep the text. This is the prerequisite for the Customizable Select Element (CSS Selectmenu) which renders rich option content.

Add options

Native <select>

Standard option text — no rich content

Parser-relaxed <select>

Injected with div/span children — Chrome 134+ keeps them

DOM tree (parser output)

Add options and click "Inspect DOM" to see the tree.