react-native-a11y
Version:
Improvements of a11y for ReactNative, this library improve work with reader and keyboard focus and reader in general.
29 lines (23 loc) • 640 B
text/typescript
import { useRef, useLayoutEffect } from "react";
import type { View } from "react-native";
import { useA11yOrderManager } from "../dev";
import type { UseDynamicFocusOrder } from "./useDynamicFocusOrder.types";
export const useDynamicFocusOrder = <T>(): UseDynamicFocusOrder<T> => {
const a11yOrderRef = useRef<View>(null);
const {
registerOrderRef: registerOrder,
updateRefList,
reset,
setOrder,
} = useA11yOrderManager(a11yOrderRef);
useLayoutEffect(updateRefList);
return {
a11yOrder: {
ref: a11yOrderRef,
onLayout: updateRefList,
},
registerOrder,
reset,
setOrder,
};
};