[core][a11y] Enable Escape key dismissal for Tooltips #7669
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #7594
Summary
Adds Escape key support to dismiss Tooltips, bringing Blueprint into compliance with WCAG 2.1 Success Criterion 1.4.13 and the WAI-ARIA Tooltip Pattern.
Problem
Tooltips in Blueprint could not be dismissed using the Escape key, which violates:
Previous Behavior
canEscapeKeyClose={false}hardcodedautoFocus={false}to avoid stealing focus on hoverSolution
Added a document-level Escape key listener to Overlay2 that activates when
autoFocus={false}. Tooltip no longer hardcodescanEscapeKeyClose={false}, allowing it to inherit the defaulttruevalue from Overlay2 while keepingautoFocus={false}to prevent focus steal on hover.Testing
Escapekey