AccessibilityInfo

The Accessibility API is used to query the current state of the screen reader and to register to be notified when its state changes.

MethodsannounceForAccessibility()isReduceMotionEnabled()isScreenReaderEnabled()removeEventListener()setAccessibilityFocus()EventsaddEventListener()announcementFinished iOSboldTextChanged iOSgrayscaleChanged iOSinvertColorsChanged iOSreduceTransparencyChangedreduceMotionChangedscreenReaderChanged Platform-specific MethodsgetRecommendedTimeoutMillis() AndroidisBoldTextEnabled() iOSisGrayscaleEnabled() iOSisInvertColorsEnabled() iOSisReduceTransparencyEnabled() iOS

RESETRUNFULL
import React, { useState, useEffect } from "react";import { AccessibilityInfo, View, Text, StyleSheet } from "react-native";const App = () => {
  const [reduceMotionEnabled, setReduceMotionEnabled] = useState(false);
  const [screenReaderEnabled, setScreenReaderEnabled] = useState(false);
  useEffect(() => {
    const reduceMotionChangedSubscription = AccessibilityInfo.addEventListener(
      "reduceMotionChanged",
      reduceMotionEnabled => {setReduceMotionEnabled(reduceMotionEnabled); }
    );
    const screenReaderChangedSubscription = AccessibilityInfo.addEventListener(
      "screenReaderChanged",
      screenReaderEnabled => {setScreenReaderEnabled(screenReaderEnabled); }
    );
    AccessibilityInfo.isReduceMotionEnabled().then(
      reduceMotionEnabled => { setReduceMotionEnabled(reduceMotionEnabled); }
    );
    AccessibilityInfo.isScreenReaderEnabled().then(
      screenReaderEnabled => {setScreenReaderEnabled(screenReaderEnabled); }
    );
    return () => {
      reduceMotionChangedSubscription.remove();
      screenReaderChangedSubscription.remove();
    };
  }, []);
  return (
    <View style={styles.container}>
      <Text style={styles.status}>
        The reduce motion is {reduceMotionEnabled ? "enabled" : "disabled"}.
      </Text>
      <Text style={styles.status}>
        The screen reader is {screenReaderEnabled ? "enabled" : "disabled"}.
      </Text>
    </View>
  );}const styles = StyleSheet.create({
  container: { flex: 1, alignItems: "center", justifyContent: "center"},
  status: { margin: 30}});export default App;