Skip to content

Commit 4c40b52

Browse files
authored
fix: Tabs press Enter/Space on active tab should not trigger onChange in antd 5.x (#794)
1 parent 14ed495 commit 4c40b52

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/TabNavList/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ const TabNavList = React.forwardRef<HTMLDivElement, TabNavListProps>((props, ref
371371
case 'Enter':
372372
case 'Space': {
373373
e.preventDefault();
374-
onTabClick(focusKey, e);
374+
onTabClick(activeKey, e);
375375
break;
376376
}
377377
// Backspace

tests/accessibility.test.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,23 +91,26 @@ describe('Tabs.Accessibility', () => {
9191

9292
it('should activate tab on Enter/Space', async () => {
9393
const onTabClick = jest.fn();
94+
const onChange = jest.fn();
9495
const user = userEvent.setup();
9596

96-
render(createTabs({ onTabClick }));
97+
render(createTabs({ onTabClick, onChange }));
9798

9899
// jump to first tab
99100
await user.tab();
100101

101102
// activate tab
102103
await user.keyboard(' ');
103104
expect(onTabClick).toHaveBeenCalledTimes(1);
105+
expect(onChange).not.toHaveBeenCalled();
104106

105107
// move focus to second tab
106108
await user.keyboard('{ArrowRight}');
107109

108110
// activate tab
109111
await user.keyboard('{Enter}');
110112
expect(onTabClick).toHaveBeenCalledTimes(2);
113+
expect(onChange).not.toHaveBeenCalled();
111114
});
112115

113116
it('should not navigate to disabled tabs', async () => {

0 commit comments

Comments
 (0)