Skip to content

Commit 2ee02a0

Browse files
fix: prevent useTooltipTrigger from setting tabIndex (#8622)
* remove tabIndex set in useTooltipTrigger * add test * add the opposite test as well --------- Co-authored-by: Robert Snow <[email protected]>
1 parent 6a35a9a commit 2ee02a0

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

packages/@react-aria/tooltip/src/useTooltipTrigger.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,9 @@ export function useTooltipTrigger(props: TooltipTriggerProps, state: TooltipTrig
139139
'aria-describedby': state.isOpen ? tooltipId : undefined,
140140
...mergeProps(focusableProps, hoverProps, {
141141
onPointerDown: onPressStart,
142-
onKeyDown: onPressStart,
143-
tabIndex: undefined
144-
})
142+
onKeyDown: onPressStart
143+
}),
144+
tabIndex: undefined
145145
},
146146
tooltipProps: {
147147
id: tooltipId

packages/react-aria-components/test/Tooltip.test.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,4 +312,32 @@ describe('Tooltip', () => {
312312
let tooltip = getByRole('tooltip');
313313
expect(tooltip).toBeInTheDocument();
314314
});
315+
316+
it('should not override child properties for excludeFromTabOrder', async () => {
317+
let {getByRole} = render(
318+
<TooltipTrigger>
319+
<Button excludeFromTabOrder>
320+
Check my tabindex
321+
</Button>
322+
<Tooltip>hello world</Tooltip>
323+
</TooltipTrigger>
324+
);
325+
326+
let button = getByRole('button');
327+
expect(button).toHaveAttribute('tabindex', '-1');
328+
});
329+
330+
it('should not override child properties', async () => {
331+
let {getByRole} = render(
332+
<TooltipTrigger>
333+
<Button>
334+
Check my tabindex
335+
</Button>
336+
<Tooltip>hello world</Tooltip>
337+
</TooltipTrigger>
338+
);
339+
340+
let button = getByRole('button');
341+
expect(button).toHaveAttribute('tabindex', '0');
342+
});
315343
});

0 commit comments

Comments
 (0)