stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
22 lines (18 loc) • 768 B
text/typescript
import { useEffect } from 'react';
import { useScreenReaderEnabled } from './useScreenReaderEnabled';
import {
type AccessibilityFocusTarget,
useSetAccessibilityFocus,
} from './useSetAccessibilityFocus';
/**
* Moves the screen reader cursor onto `target` as it mounts (and refires once the
* screen reader state resolves, since that is detected asynchronously). Like
* {@link useSetAccessibilityFocus}, it only moves accessibility focus.
*/
export const useScreenReaderMountFocus = (target: AccessibilityFocusTarget) => {
const setAccessibilityFocus = useSetAccessibilityFocus();
const screenReaderEnabled = useScreenReaderEnabled();
useEffect(() => {
setAccessibilityFocus(target);
}, [screenReaderEnabled, setAccessibilityFocus, target]);
};