Skip to content

fix(tooltip): don't reopen on window/tab refocus (#1800)#3964

Open
effinrich wants to merge 1 commit into
radix-ui:mainfrom
effinrich:fix/tooltip-window-refocus
Open

fix(tooltip): don't reopen on window/tab refocus (#1800)#3964
effinrich wants to merge 1 commit into
radix-ui:mainfrom
effinrich:fix/tooltip-window-refocus

Conversation

@effinrich

Copy link
Copy Markdown

Summary

Fixes #1800. A Tooltip whose trigger is focused reopens itself when you switch away from and back to the browser tab (or minimize/restore the window).

Root cause

Returning to the tab refocuses the previously-active element, firing a synthetic focus event on the trigger. TooltipTrigger's onFocus opens on any non-pointer focus, so it can't distinguish that refocus from a genuine keyboard focus — and opens the tooltip.

Fix

Track window blur via a ref (mirrors the recently-merged window-blur handling for menus, #3938). When the trigger is focused immediately after the window was blurred, treat it as the tab/window regaining focus and skip opening — consuming the flag so the next genuine focus opens normally.

Test

Adds a regression test using window.dispatchEvent(new FocusEvent('blur')) then fireEvent.focus(trigger), asserting data-state stays closed, and that a subsequent genuine focus still opens. Changeset included (patch: @radix-ui/react-tooltip, radix-ui).

Tradeoff (open to feedback)

If the window is blurred and the user later keyboard-focuses a different, never-focused trigger, that trigger's first focus is suppressed once. Minor — happy to switch to a requestAnimationFrame-on-window-focus reset to eliminate it if preferred.

@changeset-bot

changeset-bot Bot commented Jun 13, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 0886bef

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@radix-ui/react-tooltip Patch
radix-ui Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@chaance chaance self-assigned this Jun 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Tooltip] Tooltip is opened on active buttons when the browser tab is switched

2 participants