Перейти к содержанию

AccessibilityInfo

Иногда полезно знать, есть ли на устройстве активное устройство для чтения с экрана. API AccessibilityInfo предназначен для этой цели. Вы можете использовать его для запроса текущего состояния устройства чтения экрана, а также для регистрации, чтобы получать уведомления об изменении состояния устройства чтения экрана.

Пример

Методы

addEventListener()

1
2
3
4
5
6
static addEventListener(
  eventName: AccessibilityChangeEventName | AccessibilityAnnouncementEventName,
  handler: (
    event: AccessibilityChangeEvent | AccessibilityAnnouncementFinishedEvent,
  ) => void,
): EmitterSubscription;

Добавьте обработчик события. Поддерживаемые события:

Событие Описание
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
static announceForAccessibility(announcement: string);

Разместите строку, которая будет озвучена устройством чтения с экрана.

announceForAccessibilityWithOptions()

1
2
3
4
static announceForAccessibilityWithOptions(
  announcement: string,
  options: options: {queue?: boolean},
);

Поместите строку для объявления считывателем экрана с параметрами модификации. По умолчанию объявления будут прерывать любую существующую речь, но на iOS их можно поставить в очередь за существующей речью, установив queue в true в объекте options.

Параметры:

Имя Тип Описание
announcement (обязательно) string Строка, которая будет объявлена
options (обязательно) object queue — поставить в очередь объявление за существующей речью

getRecommendedTimeoutMillis()

1
2
3
static getRecommendedTimeoutMillis(
    originalTimeout: number
): Promise<number>;

Получает тайм-аут в миллисекундах, который необходим пользователю. Это значение устанавливается в параметре "Время для принятия действия (таймаут доступности)" настроек "Доступность".

Параметры:

Имя Тип Описание
originalTimeout (обязательно) number Таймаут, который возвращается, если параметр "Accessibility timeout" не установлен. Указывается в миллисекундах.

isAccessibilityServiceEnabled()

1
static isAccessibilityServiceEnabled(): Promise<boolean>;

Проверьте, включена ли какая-либо служба доступности. Сюда входит TalkBack, а также любое стороннее приложение доступности, которое может быть установлено. Чтобы проверить, включен ли только TalkBack, используйте isScreenReaderEnabled. Возвращает обещание, которое разрешается в булево число. Результат будет true, если некоторые службы доступности включены, и false в противном случае.

Примечание

Пожалуйста, используйте isScreenReaderEnabled, если вы хотите проверить только состояние TalkBack.

isBoldTextEnabled()

1
static isBoldTextEnabled(): Promise<boolean>:

Запрос о том, включен ли в данный момент полужирный текст. Возвращает обещание, которое разрешается в булево число. Результат будет true, если полужирный текст включен, и false в противном случае.

isGrayscaleEnabled()

1
static isGrayscaleEnabled(): Promise<boolean>;

Запрос о том, включена ли в данный момент шкала серого. Возвращает обещание, которое разрешается в булево число. Результат будет true, если шкала серого включена, и false в противном случае.

isInvertColorsEnabled()

1
static isInvertColorsEnabled(): Promise<boolean>;

Запрос о том, включена ли в данный момент функция инвертирования цветов. Возвращает обещание, которое разрешается в булево число. Результат будет true, если инвертирование цветов включено, и false в противном случае.

isReduceMotionEnabled()

1
static isReduceMotionEnabled(): Promise<boolean>;

Запрос о том, включено ли в данный момент уменьшение движения. Возвращает обещание, которое разрешается в булево число. Результат будет true, если движение уменьшения включено, и false в противном случае.

isReduceTransparencyEnabled()

1
static isReduceTransparencyEnabled(): Promise<boolean>;

Запрашивает, включена ли в данный момент прозрачность уменьшения. Возвращает обещание, которое разрешается в логическое число. Результат будет true, если прозрачность уменьшения включена, и false в противном случае.

isScreenReaderEnabled()

1
static isScreenReaderEnabled(): Promise<boolean>;

Запрос о том, включено ли в данный момент устройство чтения с экрана. Возвращает обещание, которое разрешается в булево число. Результат будет true, если устройство чтения с экрана включено, и false в противном случае.

prefersCrossFadeTransitions()

1
static prefersCrossFadeTransitions(): Promise<boolean>;

Запрос о том, включены ли в данный момент настройки уменьшения движения и предпочтения переходов кроссфейда. Возвращает обещание, которое разрешается в булево число. Результат будет true, если предпочтение переходов кроссфейда включено, и false в противном случае.

setAccessibilityFocus()

1
static setAccessibilityFocus(reactTag: number);

Установка фокуса доступности для компонента React.

На Android для этого вызывается метод UIManager.sendAccessibilityEvent с переданными аргументами reactTag и UIManager.AccessibilityEventTypes.typeViewFocused.

Примечание

Убедитесь, что любой View, который вы хотите получить фокус доступности, имеет accessible={true}.

Ссылки

Комментарии