Поддержка доступности
Мы стараемся как можно больше упростить поддержку доступности. DivKit автоматически проставляет правильные типы в соответствии с платформой таким объектам, как text
, input
, select
, slider
и tabs
. Но мы не можем дать пользователю дополнительную информацию, задать корректное описание (description
) и т. п. Поэтому image
и separator
по умолчанию исключены из доступности.
Если элемент имеет действия на нажатие (одинарное или двойное) — это также будет автоматически озвучено accessibility-сервисом на платформах Android и iOS.
Для настройки доступности можно использовать объект accessibility
. Пример:
"accessibility": {
"type": "button",
"hint": "Tap on the button to play music.",
"description": "Play music",
"state_description": "Clicked",
"mode": "merge"
}
type
— роль элемента. Используется для правильной идентификации элемента accessibility-сервисом.hint
— подсказка, что произойдет при взаимодействии. Читается послеdescription
.description
— основное описание элемента.state_description
— описание текущего состояния элемента. Например, для переключателя это может быть состояниевключен
/выключен
.mode
— способ организации дерева accessibility. Всего существует 3 режима:default
— элемент и все поддерево разбираются по отдельности;merge
— элемент и все его поддерево воспринимаются как единое целое;exclude
— элемент и все поддерево недоступно для accessibility.
Роли элемента
none
— роль элемента отсутствует.button
— тип кнопки. Если элемент будет иметь активные действия на одиночное или продолжительное нажатие — это также будет озвучено.image
— тип изображения. Мы не сможем дать подробностей про ваше изображение, поэтому рекомендуем указатьdescription
для этого типа.text
— тип текста.edit_text
— тип поля ввода.header
— тип заголовка.list
— тип списка. Элементы внутри будут читаться подряд.auto
— автоматическая простановка типа. Также является типом по умолчанию.
Узнать больше
Следите за новостями DivKit в Telegram-канале: http://t.me/divkit_news.
Также вы можете обсуждать интересующие вас темы в сообществе пользователей DivKit в Telegram: https://t.me/divkit_community_ru.