diff --git a/src/Tooltip.tsx b/src/Tooltip.tsx index 5aaa8da..52a5aae 100644 --- a/src/Tooltip.tsx +++ b/src/Tooltip.tsx @@ -65,7 +65,7 @@ export interface TooltipRef extends TriggerRef {} const Tooltip = React.forwardRef((props, ref) => { const { - trigger = ['hover'], + trigger = ['hover', 'focus'], mouseEnterDelay = 0, mouseLeaveDelay = 0.1, prefixCls = 'rc-tooltip', diff --git a/tests/index.test.tsx b/tests/index.test.tsx index d8c89d9..50b4dbb 100644 --- a/tests/index.test.tsx +++ b/tests/index.test.tsx @@ -528,6 +528,24 @@ describe('rc-tooltip', () => { }); describe('children handling', () => { + it('should expose tooltip content when the default trigger receives focus', () => { + const { container } = render( + + + , + ); + + const trigger = container.querySelector('button'); + fireEvent.focus(trigger); + + const describedBy = trigger.getAttribute('aria-describedby'); + expect(describedBy).toBeTruthy(); + expect(document.getElementById(describedBy)).toHaveTextContent('tooltip content'); + + fireEvent.blur(trigger); + expect(trigger).not.toHaveAttribute('aria-describedby'); + }); + it('should set aria-describedby immediately when defaultVisible is true', () => { const { container } = render(