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}
.