diff --git a/src/Explorer/Tabs/Tabs.tsx b/src/Explorer/Tabs/Tabs.tsx index caf13ef7d..7948e871a 100644 --- a/src/Explorer/Tabs/Tabs.tsx +++ b/src/Explorer/Tabs/Tabs.tsx @@ -1,5 +1,5 @@ import ko from "knockout"; -import React, { useEffect, useRef, useState } from "react"; +import React, { MutableRefObject, useEffect, useRef, useState } from "react"; import loadingIcon from "../../../images/circular_loader_black_16x16.gif"; import errorIcon from "../../../images/close-black.svg"; import { useObservable } from "../../hooks/useObservable"; @@ -32,7 +32,13 @@ export const Tabs = (): JSX.Element => { function TabNav({ tab, active }: { tab: Tab; active: boolean }) { const [hovering, setHovering] = useState(false); + const focusTab = useRef() as MutableRefObject; + useEffect(() => { + if (active && focusTab.current) { + focusTab.current.focus(); + } + }); return (
  • setHovering(true)} @@ -46,6 +52,7 @@ function TabNav({ tab, active }: { tab: Tab; active: boolean }) { aria-controls={tab.tabId} tabIndex={0} role="tab" + ref={focusTab} >