fix: a11y regression audio msg sending
This commit is contained in:
parent
9ca0bbc35c
commit
a12bd59352
2 changed files with 19 additions and 6 deletions
|
|
@ -5,10 +5,21 @@ import {
|
|||
} from "react-native";
|
||||
|
||||
export function setA11yFocus(refOrNode) {
|
||||
const node = findNodeHandle(refOrNode?.current ?? refOrNode);
|
||||
if (!node) return;
|
||||
|
||||
AccessibilityInfo.setAccessibilityFocus(node);
|
||||
// RN's `setAccessibilityFocus` expects a native host node handle.
|
||||
// In practice, callers may pass:
|
||||
// - a ref object ({ current })
|
||||
// - a host component
|
||||
// - a composite component instance (invalid)
|
||||
// - null/undefined
|
||||
// We must never throw here, otherwise we can crash the whole app.
|
||||
try {
|
||||
const candidate = refOrNode?.current ?? refOrNode;
|
||||
const node = findNodeHandle(candidate);
|
||||
if (typeof node !== "number") return;
|
||||
AccessibilityInfo.setAccessibilityFocus(node);
|
||||
} catch (_e) {
|
||||
// noop
|
||||
}
|
||||
}
|
||||
|
||||
export function setA11yFocusAfterInteractions(refOrNode) {
|
||||
|
|
|
|||
|
|
@ -505,7 +505,9 @@ function AlertCurMap() {
|
|||
|
||||
const closeStepper = useCallback(() => {
|
||||
setStepperIsOpened(false);
|
||||
setA11yFocusAfterInteractions(lastStepsTriggerRef.current);
|
||||
// Pass the ref object (not `.current`) so `findNodeHandle` can safely
|
||||
// resolve the native host view.
|
||||
setA11yFocusAfterInteractions(lastStepsTriggerRef);
|
||||
}, [setStepperIsOpened]);
|
||||
|
||||
const stepperOnOpen = useCallback(() => {
|
||||
|
|
@ -521,7 +523,7 @@ function AlertCurMap() {
|
|||
setStepperIsOpened(false);
|
||||
}
|
||||
announceForA11yIfScreenReaderEnabled("Liste des étapes fermée");
|
||||
setA11yFocusAfterInteractions(lastStepsTriggerRef.current);
|
||||
setA11yFocusAfterInteractions(lastStepsTriggerRef);
|
||||
}, [stepperIsOpened, setStepperIsOpened]);
|
||||
|
||||
const [externalGeoIsVisible, setExternalGeoIsVisible] = useState(false);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue