diff --git a/src/router/FocusableContext/FocusableProvider.js b/src/router/FocusableContext/FocusableProvider.js index 3bf6bafab..8932dbaf7 100644 --- a/src/router/FocusableContext/FocusableProvider.js +++ b/src/router/FocusableContext/FocusableProvider.js @@ -35,7 +35,12 @@ const FocusableProvider = ({ children, onRoutesContainerChildrenChange, onModals }, [routesContainer, modalsContainer, onRoutesContainerChildrenChange, onModalsContainerChildrenChange]); React.useEffect(() => { if (focusable && !contentContainerRef.current.contains(document.activeElement)) { - contentContainerRef.current.focus(); + const focusableElement = contentContainerRef.current.querySelector('[tabindex]:not([tabindex="-1"])'); + if (focusableElement instanceof HTMLElement) { + focusableElement.focus(); + } else { + contentContainerRef.current.focus(); + } } }, [focusable]); return (