Click here to download the Blitz Browser!

WPT

wpt / html / semantics / menu / tentative / menu-content-model-violation.html

Spec: HTML ↗

Runs: Chrome 155.0.8042.0 (wpt@4eb09bcd9, 2026-09-04) | Firefox 157.0a1 (wpt@c3fcbf4ba, 2026-09-04) | Safari 251 preview (wpt@e7122b73f, 2026-09-04) | Ladybird 1.0-52f0f (wpt@a1ecd0c09, 2026-09-04) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)

View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi

ChromeFirefoxSafariLadybirdServoBlitz
Total33/330/330/330/330/33NOT RUN
SubtestChromeFirefoxSafariLadybirdServoBlitz
Menulist without content model violations does not force dialogPASSFAILFAILFAILFAIL
Menubar without content model violations does not force dialogPASSFAILFAILFAILFAIL
Menulist containing an anchor tag forces dialogPASSFAILFAILFAILFAIL
Menubar containing an anchor tag forces dialogPASSFAILFAILFAILFAIL
Submenu containing <div>text</div> forces dialogPASSFAILFAILFAILFAIL
Submenu containing wayward text content forces dialogPASSFAILFAILFAILFAIL
Fieldset containing wayward text forces dialogPASSFAILFAILFAILFAIL
Menulist with wayward text content forces dialogPASSFAILFAILFAILFAIL
Menubar with wayward button forces dialogPASSFAILFAILFAILFAIL
Invalid submenu sequence intentionally does not force dialogPASSFAILFAILFAILFAIL
Invalid submenu multiple items intentionally does not force dialogPASSFAILFAILFAILFAIL
Invalid submenu missing item intentionally does not force dialogPASSFAILFAILFAILFAIL
Dynamic mutation correctly triggers and untriggers dialog modePASSFAILFAILFAILFAIL
Invalid outer menubar forces dialog on itself and on valid inner menulistPASSFAILFAILFAILFAIL
Dynamic text mutation correctly triggers and untriggers dialog modePASSFAILFAILFAILFAIL
Attribute mutation double-counting incorrectly fails to untrigger dialog modePASSFAILFAILFAILFAIL
Dynamic structural violation (div in submenu) does not force dialogPASSFAILFAILFAILFAIL
Removing valid text content does not incorrectly clear dialog modePASSFAILFAILFAILFAIL
Menulist containing a menubar does not force dialogPASSFAILFAILFAILFAIL
Menulist with wayward pseudo-element text incorrectly fails to force dialogPASSFAILFAILFAILFAIL
React/lit teardown: Mutating a detached subtree does not incorrectly trigger dialog modePASSFAILFAILFAILFAIL
Vue/Angular teardown: Removing invalid nodes in reverse tree order restores menu rolePASSFAILFAILFAILFAIL
Outer menu ignores mutations inside detached nested menusPASSFAILFAILFAILFAIL
Adding and immediately removing an invalid text node does not force dialogPASSFAILFAILFAILFAIL
Adding and immediately removing text inside a menuitem does not force dialogPASSFAILFAILFAILFAIL
Removing a node from a detached valid subtree should not crashPASSFAILFAILFAILFAIL
A single violation forces the entire menu tree (ancestors, siblings, descendants) into dialog modePASSFAILFAILFAILFAIL
Dynamic removal of the only violation restores the entire treePASSFAILFAILFAILFAIL
Multiple violations across different branches require all to be removed before restoringPASSFAILFAILFAILFAIL
Detaching an invalid subtree restores the outer menu, but the detached subtree remains a dialogPASSFAILFAILFAILFAIL
Removing a wrapper element containing an invalid menu correctly restores the outer menuPASSFAILFAILFAILFAIL
Inserting and immediately removing a violating subtree correctly maintains the outer menu statePASSFAILFAILFAILFAIL
Reparenting a standalone violating menulist into a menubar correctly transfers violations to the top-level observerPASSFAILFAILFAILFAIL
Invalid outer menubar forces dialog on itself but not on valid inner menulist