v149 · html · developer trial
Popover=hint behavior changes
Chrome 149 ships a revised and simplified stacking model for popover="hint" and its interactions with popover="auto", resolving corner-case inconsistencies that could cause hint popovers to close unexpectedly or stack incorrectly when nested.
popover="hint" behaviour is in developer trial in Chrome 149 — enable via chrome://flags/#enable-experimental-web-platform-features. Ships as enabled by default in Chrome 150.
at a glance
| Status in 149 | In developer trial (behind a flag) |
|---|---|
| Ships by default | Chrome 150 |
| Flag | chrome://flags/#enable-experimental-web-platform-features |
| Standards position | Firefox: Positive · Safari: Positive |
| Spec / PR | whatwg/html PR #12345 |
| ChromeStatus | 6282804208992256 — Popover=hint behavior changes |
background: popover types
The Popover API has three values for the popover attribute:
popover="auto" | Light-dismiss on outside click. Multiple autos form a stack; opening a new auto closes unrelated ones. |
|---|---|
popover="hint" | Tooltip-like. Does not close other autos when it opens. Light-dismiss. |
popover="manual" | No automatic dismissal; must be closed programmatically. |
what changed in Chrome 149
The original popover="hint" implementation had edge cases where:
- Opening a hint over a nested
popover="auto"would incorrectly dismiss the auto. - A hint was treated as part of the auto stack in situations where it shouldn't be, causing it to close when unrelated autos were opened.
- The ordering rules between simultaneous hints were not well-defined.
Chrome 149 implements the revised model from whatwg/html PR #12345:
| Hints sit above autos | A popover="hint" always renders above popover="auto" elements in the top layer, not interleaved. |
|---|---|
| Hints don't disrupt auto stack | Opening a hint never causes an open auto to close. |
| One hint at a time | Opening a new hint closes any other currently-open hint (like tooltips replacing each other). |
| Light-dismiss rules unchanged | Clicking outside any popover still closes light-dismissable popovers. |
example
<button popovertarget="menu">Open menu</button>
<div id="menu" popover="auto">
<button popovertarget="tip">Hover for tip</button>
<p>Menu content</p>
</div>
<div id="tip" popover="hint">
This is a tooltip — does not close the menu
</div>
In Chrome 149+, showing #tip no longer dismisses #menu. The hint stacks on top of the auto, and dismissing the hint leaves the auto open.
compatibility
Most code using popover="hint" will behave more correctly after this change. If you had workarounds for the incorrect closing behaviour, those workarounds may now cause double-closes and should be removed.
browser support
| Chrome | 149 — revised model |
|---|---|
| Edge | 149 (Chromium) |
| Firefox | Positive signal; implementation tracking |
| Safari | Positive signal; implementation tracking |