react-native-a11y
Version:
Improvements of a11y for ReactNative, this library improve work with reader and keyboard focus and reader in general.
43 lines (42 loc) • 1.67 kB
JavaScript
import { NativeModules, Platform } from "react-native";
const LINKING_ERROR = `The package 'react-native-a11y' doesn't seem to be linked. Make sure: \n\n${Platform.select({
ios: "- You have run 'pod install'\n",
default: ""
})}- You rebuilt the app after installing the package\n` + `- You are not using Expo Go\n`;
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-expect-error
const isTurboModuleEnabled = global.__turboModuleProxy != null;
const RCA11yModule = isTurboModuleEnabled ?
// eslint-disable-next-line @typescript-eslint/no-var-requires
require("../../../nativeSpecs/NativeA11yModule").default : NativeModules.RCA11yModule;
export const RCA11y = RCA11yModule || new Proxy({}, {
get() {
throw new Error(LINKING_ERROR);
}
});
export function isA11yReaderEnabled() {
return RCA11y.isA11yReaderEnabled();
}
export function isKeyboardConnected() {
return RCA11y.isKeyboardConnected();
}
export function announceForAccessibility(announcement) {
RCA11y.announceForAccessibility(announcement);
}
export function announceScreenChange(announcement) {
RCA11y.announceScreenChange(announcement);
}
export function setAccessibilityFocus(nativeTag) {
RCA11y.setAccessibilityFocus(nativeTag);
}
export function setKeyboardFocus(nativeTag) {
let _nextTag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
RCA11y.setKeyboardFocus(nativeTag, _nextTag);
}
export function setPreferredKeyboardFocus(nativeTag, nextTag) {
RCA11y.setAccessibilityFocus(nativeTag, nextTag);
}
export function setA11yOrder(tags, nativeTag) {
RCA11y.setA11yOrder(tags, nativeTag);
}
//# sourceMappingURL=RCA11yModule.js.map