diff --git a/packages/@react-aria/focus/src/FocusScope.tsx b/packages/@react-aria/focus/src/FocusScope.tsx index 7f7fa467213..7241876a2d1 100644 --- a/packages/@react-aria/focus/src/FocusScope.tsx +++ b/packages/@react-aria/focus/src/FocusScope.tsx @@ -219,7 +219,10 @@ function useFocusContainment(scopeRef: RefObject, contain: boolea if (!isInAnyScope) { activeScope = scopeRef; focusedNode.current = e.target; - focusedNode.current.focus(); + // Firefox doesn't shift focus back to the Dialog properly without this + requestAnimationFrame(() => { + focusedNode.current.focus(); + }); } };