From af6c382d3a884360e9dfabc53c8e037d6fbd368b Mon Sep 17 00:00:00 2001 From: G30 <50341825+silentoplayz@users.noreply.github.com> Date: Sun, 25 Oct 2026 03:55:43 -0400 Subject: [PATCH] fix(a11y): a tooltip no longer stays open when focus returns to its button after a mouse click (#33170) --- src/lib/components/common/Tooltip.svelte | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib/components/common/Tooltip.svelte b/src/lib/components/common/Tooltip.svelte index ab424d34bd..15a6d711cd 100644 --- a/src/lib/components/common/Tooltip.svelte +++ b/src/lib/components/common/Tooltip.svelte @@ -59,6 +59,16 @@ allowHTML, touch, trigger: 'mouseenter focusin', + onShow: () => { + const focused = document.activeElement; + if ( + !tooltipElement?.matches(':hover') && + tooltipElement?.contains(focused) && + !focused?.matches(':focus-visible') + ) { + return false; + } + }, ...(theme !== '' ? { theme } : { theme: 'dark' }), arrow: false, offset, @@ -74,7 +84,7 @@ }; return { - onShow: () => document.addEventListener('keydown', onKeyDown), + onMount: () => document.addEventListener('keydown', onKeyDown), onHide: () => document.removeEventListener('keydown', onKeyDown), onDestroy: () => document.removeEventListener('keydown', onKeyDown) };