diff --git a/packages/docusaurus-theme-classic/src/theme/Tabs/index.tsx b/packages/docusaurus-theme-classic/src/theme/Tabs/index.tsx index 029eec193a28..54843fa48ade 100644 --- a/packages/docusaurus-theme-classic/src/theme/Tabs/index.tsx +++ b/packages/docusaurus-theme-classic/src/theme/Tabs/index.tsx @@ -104,7 +104,10 @@ function TabsComponent(props: Props): JSX.Element { } const handleTabChange = ( - event: React.FocusEvent | React.MouseEvent, + event: + | React.FocusEvent + | React.MouseEvent + | React.KeyboardEvent, ) => { const newTab = event.currentTarget; const newTabIndex = tabRefs.indexOf(newTab); @@ -124,6 +127,10 @@ function TabsComponent(props: Props): JSX.Element { let focusElement: HTMLLIElement | null = null; switch (event.key) { + case 'Enter': { + handleTabChange(event); + break; + } case 'ArrowRight': { const nextTab = tabRefs.indexOf(event.currentTarget) + 1; focusElement = tabRefs[nextTab] ?? tabRefs[0]!; @@ -161,7 +168,6 @@ function TabsComponent(props: Props): JSX.Element { key={value} ref={(tabControl) => tabRefs.push(tabControl)} onKeyDown={handleKeydown} - onFocus={handleTabChange} onClick={handleTabChange} {...attributes} className={clsx(