Skip to content

Commit 1d4392f

Browse files
authored
fix: show default tooltips on focus (#541)
1 parent ba2d690 commit 1d4392f

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

src/Tooltip.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export interface TooltipRef extends TriggerRef {}
6565

6666
const Tooltip = React.forwardRef<TooltipRef, TooltipProps>((props, ref) => {
6767
const {
68-
trigger = ['hover'],
68+
trigger = ['hover', 'focus'],
6969
mouseEnterDelay = 0,
7070
mouseLeaveDelay = 0.1,
7171
prefixCls = 'rc-tooltip',

tests/index.test.tsx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,6 +528,24 @@ describe('rc-tooltip', () => {
528528
});
529529

530530
describe('children handling', () => {
531+
it('should expose tooltip content when the default trigger receives focus', () => {
532+
const { container } = render(
533+
<Tooltip overlay="tooltip content">
534+
<button>Trigger</button>
535+
</Tooltip>,
536+
);
537+
538+
const trigger = container.querySelector('button');
539+
fireEvent.focus(trigger);
540+
541+
const describedBy = trigger.getAttribute('aria-describedby');
542+
expect(describedBy).toBeTruthy();
543+
expect(document.getElementById(describedBy)).toHaveTextContent('tooltip content');
544+
545+
fireEvent.blur(trigger);
546+
expect(trigger).not.toHaveAttribute('aria-describedby');
547+
});
548+
531549
it('should set aria-describedby immediately when defaultVisible is true', () => {
532550
const { container } = render(
533551
<Tooltip defaultVisible overlay="tooltip content">

0 commit comments

Comments
 (0)