Fix roving tab index crash compareDocumentPosition (#12594)

* Fix roving tab index crash `compareDocumentPosition`

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2024-06-11 10:11:52 +01:00 committed by GitHub
parent 3e7511cc5d
commit 930b4e2424
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 10 deletions

View file

@ -18,7 +18,7 @@ import React, {
createContext,
useCallback,
useContext,
useLayoutEffect,
useEffect,
useMemo,
useRef,
useReducer,
@ -144,7 +144,7 @@ export const reducer: Reducer<IState, Action> = (state: IState, action: Action)
}
if (document.activeElement === document.body) {
// if the focus got reverted to the body then the user was likely focused on the unmounted element
state.activeRef?.current?.focus();
setTimeout(() => state.activeRef?.current?.focus(), 0);
}
}
@ -362,7 +362,7 @@ export const useRovingTabIndex = <T extends HTMLElement>(
}
// setup (after refs)
useLayoutEffect(() => {
useEffect(() => {
context.dispatch({
type: Type.Register,
payload: { ref },