Класс AccessibilityInfo
Класс AccessibilityInfo не рисует элементы на экране.
Методы isScreenReaderEnabled
и isReduceMotionEnabled
возвращают промис с true или false.
Метод announceForAccessibility
произносит строку вслух.
Метод setAccessibilityFocus
переносит фокус чтения на элемент.
Метод addEventListener
слушает смену чтения с экрана и режима без анимации.
Синтаксис
import { AccessibilityInfo } from 'react-native';
AccessibilityInfo.isScreenReaderEnabled();
Методы
| Метод | Описание |
|---|---|
isScreenReaderEnabled |
Проверяет, включено ли чтение с экрана. |
isReduceMotionEnabled |
Проверяет, включено ли уменьшение анимации. |
announceForAccessibility |
Озвучивает переданную фразу. |
setAccessibilityFocus |
Переносит фокус чтения на узел по номеру. |
addEventListener |
Подписывает функцию на событие доступности. |
Пример
Давайте проверим чтение с экрана при открытии экрана:
import { useEffect, useState } from 'react';
import { View, Text, AccessibilityInfo } from 'react-native';
export default function App() {
const [on, setOn] = useState(false);
useEffect(() => {
AccessibilityInfo.isScreenReaderEnabled().then(setOn);
}, []);
return (
<View>
<Text>{on ? '12345' : 'abcde'}</Text>
</View>
);
}
На экране подпись '12345', если VoiceOver или TalkBack включены, иначе 'abcde'.
Пример
Давайте озвучим подтверждение после действия:
import { View, Button, AccessibilityInfo } from 'react-native';
export default function App() {
const onPress = () => {
AccessibilityInfo.announceForAccessibility('abcde');
};
return (
<View>
<Button title="12345" onPress={onPress} />
</View>
);
}
На экране кнопка '12345'.
После нажатия чтение с экрана произнесёт 'abcde'.
Смотрите также
-
перечисление
AccessibilityRole,
которое задаёт роль элемента на экране -
компонент
View,
у которого описаныaccessibilityLabelиaccessibilityRole -
перечисление
ImportantForAccessibility,
которое управляет видимостью для чтения -
класс
EmitterSubscription,
которым снимают подпискуaddEventListener