Как перенести акцент доступности на первый элемент RecyclerView на какое-то действие? - PullRequest
5 голосов
/ 29 мая 2019

Я новичок с доступностью для Android - TalkBack.Я знаю об основных вещах, таких как contentDescription, importantForAaccessibility и о том, как они создают дерево узлов и т. Д.

В моей проблеме я хочу сместить акцент доступности на первый элемент RecyclerView в каком-либо действии,

Обычно someView.requestFocus() или someView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED) работает.Но похоже, что он не работает должным образом в RecyclerView.

Я пытался решить эту проблему следующим образом:

  1. android:accessibilityLiveRegion="polite", но он только объявляет, что список есть,Но это не относится к элементу с фокусом доступности.

  2. Сосредоточив внимание на первом элементе адаптера - но это плохая идея!

Кроме этого, android:accessibilityTraversalAfter и android:accessibilityTraversalBefore также плохо работают с представлением списка в Android.

someView.requestFocus()
someView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)

1 Ответ

0 голосов
/ 18 июля 2019

Запросить фокус с указанием ViewId и получить первый элемент этого узла.

...