demo · v134 · dom

DOM Tree X-Ray

Paste any HTML containing a <select>. The browser parses it twice — once with the old strict rules (recovered via fragment parsing), once with the v134 relaxed rules — and you see the resulting DOM trees side-by-side, plus a verdict on whether your nested content survives.

Source HTML — paste, edit, or pick a preset:

strict legacy parsing


        
renders as:

v134 relaxed parsing


        
renders as:

what the relaxation does

Pre-v134, the parser only allowed <option>, <optgroup>, and <hr> as children of <select>. Any other tag (a <div>, a <span>, a <button> wrapping selectedcontent) was either dropped or fragmented out of the select subtree — silently destroying the markup designers intended.

Post-v134, the parser permits arbitrary children — and the new customizable-select rendering knows what to do with them. The "tree x-ray" above shows the difference: in many cases the structure that was being silently rewritten is now what you see.

see also