AccessibilityInfo¶
Иногда полезно знать, есть ли на устройстве активное устройство для чтения с экрана. API AccessibilityInfo предназначен для этой цели. Вы можете использовать его для запроса текущего состояния устройства чтения экрана, а также для регистрации, чтобы получать уведомления об изменении состояния устройства чтения экрана.
Пример¶
Методы¶
addEventListener()¶
1 2 3 4 5 6 | |
Добавьте обработчик события. Поддерживаемые события:
| Событие | Описание |
|---|---|
accessibilityServiceChanged | Срабатывает при включении некоторых служб, таких как TalkBack, других вспомогательных технологий Android и служб доступности сторонних производителей. Аргументом обработчика события является булево значение. Это булево значение равно true, если некоторые службы доступности включены, и false в противном случае. |
announcementFinished | Срабатывает, когда устройство чтения с экрана закончило делать объявление. Аргументом обработчика события является словарь с такими ключами:announcement: Строка, объявленная устройством чтения с экрана.success: Булево значение, указывающее, было ли объявление успешно сделано. |
boldTextChanged | Срабатывает при изменении состояния переключателя полужирного текста. Аргументом обработчика события является булево значение. Булево равно true, если полужирный текст включен, и false в противном случае. |
grayscaleChanged | Срабатывает при изменении состояния переключателя шкалы серого. Аргументом обработчика события является булево значение. Булево равно true, если включена шкала серого, и false в противном случае. |
invertColorsChanged | Срабатывает при изменении состояния переключателя инвертирования цветов. Аргументом обработчика события является булево значение. Булево равно true, если инвертирование цветов включено, и false в противном случае. |
reduceMotionChanged | Срабатывает при изменении состояния переключателя уменьшения движения. Аргументом обработчика события является булево значение. Булево true, когда движение уменьшения включено (или когда "Transition Animation Scale" в "Developer options" имеет значение "Animation off") и false в противном случае. |
reduceTransparencyChanged | Срабатывает при изменении состояния переключателя прозрачности уменьшения. Аргументом обработчика события является булево значение. Булево равно true, если прозрачность уменьшения включена, и false в противном случае. |
screenReaderChanged | Срабатывает при изменении состояния устройства чтения с экрана. Аргументом обработчика события является булево значение. Булево равно true, если устройство чтения с экрана включено, и false в противном случае. |
announceForAccessibility()¶
1 | |
Разместите строку, которая будет озвучена устройством чтения с экрана.
announceForAccessibilityWithOptions()¶
1 2 3 4 | |
Поместите строку для объявления считывателем экрана с параметрами модификации. По умолчанию объявления будут прерывать любую существующую речь, но на iOS их можно поставить в очередь за существующей речью, установив queue в true в объекте options.
Параметры:
| Имя | Тип | Описание |
|---|---|---|
announcement (обязательно) | string | Строка, которая будет объявлена |
options (обязательно) | object | queue — поставить в очередь объявление за существующей речью |
getRecommendedTimeoutMillis() ¶
1 2 3 | |
Получает тайм-аут в миллисекундах, который необходим пользователю. Это значение устанавливается в параметре "Время для принятия действия (таймаут доступности)" настроек "Доступность".
Параметры:
| Имя | Тип | Описание |
|---|---|---|
originalTimeout (обязательно) | number | Таймаут, который возвращается, если параметр "Accessibility timeout" не установлен. Указывается в миллисекундах. |
isAccessibilityServiceEnabled() ¶
1 | |
Проверьте, включена ли какая-либо служба доступности. Сюда входит TalkBack, а также любое стороннее приложение доступности, которое может быть установлено. Чтобы проверить, включен ли только TalkBack, используйте isScreenReaderEnabled. Возвращает обещание, которое разрешается в булево число. Результат будет true, если некоторые службы доступности включены, и false в противном случае.
Примечание
Пожалуйста, используйте isScreenReaderEnabled, если вы хотите проверить только состояние TalkBack.
isBoldTextEnabled() ¶
1 | |
Запрос о том, включен ли в данный момент полужирный текст. Возвращает обещание, которое разрешается в булево число. Результат будет true, если полужирный текст включен, и false в противном случае.
isGrayscaleEnabled() ¶
1 | |
Запрос о том, включена ли в данный момент шкала серого. Возвращает обещание, которое разрешается в булево число. Результат будет true, если шкала серого включена, и false в противном случае.
isInvertColorsEnabled() ¶
1 | |
Запрос о том, включена ли в данный момент функция инвертирования цветов. Возвращает обещание, которое разрешается в булево число. Результат будет true, если инвертирование цветов включено, и false в противном случае.
isReduceMotionEnabled()¶
1 | |
Запрос о том, включено ли в данный момент уменьшение движения. Возвращает обещание, которое разрешается в булево число. Результат будет true, если движение уменьшения включено, и false в противном случае.
isReduceTransparencyEnabled() ¶
1 | |
Запрашивает, включена ли в данный момент прозрачность уменьшения. Возвращает обещание, которое разрешается в логическое число. Результат будет true, если прозрачность уменьшения включена, и false в противном случае.
isScreenReaderEnabled()¶
1 | |
Запрос о том, включено ли в данный момент устройство чтения с экрана. Возвращает обещание, которое разрешается в булево число. Результат будет true, если устройство чтения с экрана включено, и false в противном случае.
prefersCrossFadeTransitions() ¶
1 | |
Запрос о том, включены ли в данный момент настройки уменьшения движения и предпочтения переходов кроссфейда. Возвращает обещание, которое разрешается в булево число. Результат будет true, если предпочтение переходов кроссфейда включено, и false в противном случае.
setAccessibilityFocus()¶
1 | |
Установка фокуса доступности для компонента React.
На Android для этого вызывается метод UIManager.sendAccessibilityEvent с переданными аргументами reactTag и UIManager.AccessibilityEventTypes.typeViewFocused.
Примечание
Убедитесь, что любой View, который вы хотите получить фокус доступности, имеет accessible={true}.