v149 · developer trial · dom
Popover=hint behavior changes
A simplified stacking model for the popover="hint" attribute and how it interacts with popover="auto". Opening a hint no longer dismisses unrelated auto popovers, and hint popovers only close when their own ancestor chain closes.
concepts
-
Stack Sandbox
An interactive sandbox with two auto popovers and two hint popovers. Click the various triggers, watch which ones stay open and which dismiss. The diagram on the side shows the ancestor chain in real time.
-
Nested Tooltip Menu
The canonical corner case the rationalisation fixes: an auto-popover menu whose items each carry a hint-popover tooltip. Pre-149, hovering a tooltip dismissed the menu. From 149, the menu stays open and you can read the tip in peace.
-
Tooltip Playground
Open an
automenu popover and ahinttooltip popover independently, then watch the event log. Verify that the tooltip opening doesn't close the menu — a live demonstration of the Chrome 149 stacking-model fix. -
Hint Dismissal Audit
Open
autoandhintpopovers in every combination and watch the event log to verify the four Chrome 149 dismissal rules. A reference matrix shows exactly which action closes which popover type — and which doesn't. -
Hint in Nested Panel
A realistic Settings → Advanced panel hierarchy (both
popover="auto") with per-rowhinttooltip buttons. Shows that opening a hint leaves both panels open — and that clicking "Close All" tears down the full ancestor chain including any open hint. -
Auto/Hint Coexistence
A simulated app toolbar with File and Edit menus (
popover="auto") whose items each carry a hint tooltip (popover="hint"). Open a menu, then click a tooltip trigger — the menu stays open (Chrome 149 fix). An event log timestamps everybeforetoggleshow/hide event, and a state grid shows which popovers are open at any moment. A reference rule table summarises all four Chrome 149 coexistence rules.
why it shipped
The original stacking rules tried to unify popover=auto and popover=hint under a single dismissal stack — but the corner cases were brutal. Nesting an auto popover inside a hint popover could close unrelated auto popovers. Opening a tooltip-style hint while a menu was open could collapse the menu. Authors had to reason about a global stack to predict what their UI would do. The revised model keeps hints in their own lane: opening a hint never touches auto popovers, and hints only dismiss when their own ancestor chain dismisses. The behavior matches what most authors thought was happening already.
references
implementation reference
Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗