Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 4

Если задача стоит на установление последовательности движения фокуса на > странице при зачитывании скринридером элементов на экране, то можно > воспользоваться методамиnextFocusUpId, nextFocusDownId, nextFocusLeftId, > > nextFocusRightId.

Вроде бы эти методы отвечают за фокус клавиатуры, а для скринридера используются traversal before/after?

А зачем нужна проверка if (accessibilityManager.isTouchExplorationEnabled)?

Методы nextFocusUpId, nextFocusDownId, nextFocusLeftId, nextFocusRightId отвечают за фокус. Фокус можно получить, использовав клавиатуру с помощью стрелок или Tab, в случае с мобильными девайсами фокус устанавливается с помощью свайпа. То есть пользователь включает скринридер, на странице появляется фокус на первом элементе, далее с помощью свайпа фокус перемещается по элементам. Таким образом эти методы используются для управления очередности фокуса в Android.


Важность или неважность установления фокуса на элемент для скринридера можно указать в разметке с помощью  android:importantForAccessibility="no", или в самом коде

if (accessibilityManager.isTouchExplorationEnabled) {

   ViewCompat.setImportantForAccessibility(view, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO)

} else {}

С каждым днем все больше команд внедряют в свое флоу разработки поддержку accessibility. Новые фичи прорабатываются с поддержкой accessibility, старые будут дорабатываться в процессе

Зарегистрируйтесь на Хабре, чтобы оставить комментарий