О порядке обхода

Общая информация

Если у пользователя включена программа TalkBack для чтения с экрана, то навигация в приложениях может осуществляться двумя способами.

  • Аудиоподсказки. Если выбран этот способ, то пользователю нужно медленно проводить по экрану и система будет озвучивать все элементы, которых он касается.
  • Линейная навигация. В этом случае для перехода от одного элемента к другому нужно проводить пальцем вправо или влево. 

Во всех приложениях для Android поддерживаются оба способа. Если выбрана линейная навигация, то порядок обхода в целом должен соответствовать визуальному расположению элементов. Главное – сделайте так, чтобы он был понятен для пользователей.  

По умолчанию в TalkBack при линейной навигации порядок обхода определяется на основе иерархии представления данных.

Реализация

Если иерархия представления данных не отражает логическую структуру приложения, чтобы изменить порядок обхода, можно применить свойство android:accessibilityTraversalBefore или android:accessibilityTraversalAfter. В этом случае программа чтения будет переходить к областям в заданном вами порядке. Если к каким-то элементам эти свойства не применены, то обход будет осуществляться в порядке, установленном программой чтения.

Порядок обхода при использовании службы специальных возможностей отличается от принципа фокуса ввода, который применяется, если подключена внешняя клавиатура. Навигация при помощи клавиатуры определяется свойствами android:nextFocusDown, android:nextFocusLeft, android:nextFocusRight и android:nextFocusUp.

Если вы решили применить свойства accessibilityTraversalBefore и accessibilityTraversalAfter, то следуйте нашим рекомендациям.

  • Используйте эти свойства, только если логическая последовательность отличается от последовательности в иерархии представления данных.
  • Все элементы, на которые можно установить фокус ввода при использовании аудиоподсказок, должны также иметь это свойство и при линейной навигации.
  • Порядок обхода должен быть соотнесен с линейной навигацией, независимо от направления движения. Например, если использован жест для перехода к следующему элементу, а затем сразу же жест для перехода к предыдущему, фокус должен сохраниться на изначальном элементе.
  • Не используйте циклическое переключение, если применяете свойства accessibilityTraversalBefore и accessibilityTraversalAfter. В противном случае некоторые элементы при линейной навигации могут стать недоступны.

Дизайн

При разработке дизайна решите, в какой последовательности будет осуществляться навигация по элементам. Постарайтесь сделать так, чтобы порядок обхода совпадал с визуальным представлением данных. Если это невозможно, настройте порядок обхода в соответствии с логической структурой интерфейса.

Советы о том, как упростить навигацию в приложении, приведены здесь.

Тестирование

Вот как протестировать порядок обхода при использовании службы специальных возможностей:

  1. Включите TalkBack.
  2. Запустите приложение.
  3. С помощью жестов последовательно выделяйте элементы на экране.
  4. Убедитесь, что фокус переключается в логическом порядке и программа правильно озвучивает названия элементов.
  5. Убедитесь, что фокус перемещается последовательно, независимо от направления движения.

Также вы можете проверить порядок обхода с помощью специальных инструментов для Android. Чтобы проверить приложение на устройстве вручную, воспользуйтесь Сканером доступности. Для автоматического тестирования включите проверку доступности в Espresso и Robolectric.

На этой странице может быть контент, переведенный с помощью искусственного интеллекта. Переводы от ИИ могут содержать ошибки.
Поиск
Очистить поле поиска
Закрыть поиск
Приложения Google
Главное меню
17488621838649228478
true
Поиск по Справочному центру
false
true
true
true
true
true
717068
false
false
false
false
false