Unity 6.3
0 онлайн 0 гостей 3 в системе
Вход

AccessibilityRole.Container

Описание

Узел доступности является контейнером для других узлов (примерами контейнеров являются панели вкладок и представления с прокрутой).

Примените эту роль к родительским элементам AccessibilityNode, чтобы обеспечить более плавную и эффективную навигацию экранного просмотра.

Когда использовать

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

Эта роль особенно полезна в следующих случаях:

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

Android поведение

Узлы контейнера сами по себе не поддаются прямому фокусированию, но они предоставляют программе чтения экрана ключевую информацию, которая улучшает навигацию:

  • Они обеспечивают навигацию по контейнерам, которая может быть активирована через "Контейнеры" контроль чтения в TalkBack. В этом режиме навигации пользователи могут переходить от одного контейнера к другому без необходимости перехода через все промежуточные узлы.
  • Начиная с Android 14 (API уровень 34), экранный читатель может объявлять, когда пользователь входит в контейнер или выходит из него.

Для обеспечения надлежащих объявлений узлы контейнера должны иметь AccessibilityNode.label комплект.

Настройка AccessibilityNode.isActive на узле контейнера не оказывает влияния.

iOS поведение

Узлы контейнера не фокусируются непосредственно во время стандартной навигации экранного чтения (называемой плоской навигацией на iOS), но они обеспечивают важный контекст для экранного читателя:

  • Они обеспечивают навигацию по контейнерам, которая может быть активирована с помощью управления "Контейнеры" в VoiceOver роторе. Как и в Android, этот режим навигации позволяет пользователям эффективно перемещаться между контейнерами.
  • Они включают группированную навигацию, доступ к которой можно получить с помощью элемента управления "Стиль навигации" в VoiceOver роторе. В группированной навигации узлы контейнера фокусируются. При последовательной навигации программное обеспечение фокусирует внимание непосредственно на узле контейнера, а не на его дочерних узлах. Для навигации по дочерним узлам контейнера пользователь должен переместиться в контейнер, выполнив специальный жест. Оказавшись в контейнере, пользователь должен сначала выйти из него, чтобы перейти к узлам вне контейнера. Этот стиль навигации особенно полезен в сложных интерфейсах, где он упрощает и ускоряет навигацию.
  • В плоской навигации экранный читатель объявляет метку узла контейнера, когда пользователь входит в контейнер, фокусируя внимание на любом из его дочерних узлов. В групповой навигации экранный читатель объявляет узел контейнера как при входе, так и при выходе из него.

Чтобы узлы-контейнеры правильно работали во всех описанных выше случаях, для них необходимо задать AccessibilityNode.label.

Настройка AccessibilityNode.isActive у узла-контейнера не даёт эффекта.

Поведение в macOS

В отличие от Android и iOS, в macOS узлы-контейнеры могут получать фокус при стандартной навигации с помощью программы чтения с экрана.

Как и при сгруппированном стиле навигации в iOS, программа чтения с экрана фокусируется непосредственно на узле-контейнере, а не на его дочерних узлах. Чтобы перейти к дочерним узлам контейнера, пользователь должен войти в контейнер с помощью специальной команды VoiceOver. Находясь в контейнере, пользователь должен сначала выйти из него, чтобы перейти к соседним узлам или другим частям иерархии. Такой стиль упрощает перемещение по сложным интерфейсам, характерным для настольных приложений.

Этот стиль навигации доступен для любых родительских узлов, даже если им не назначена данная роль. Однако при назначении этой роли программа чтения с экрана объявляет узел «группой» и сообщает инструкции по взаимодействию с его дочерними узлами.

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

Узлы-контейнеры могут отображаться в меню «Window Spots» ротора VoiceOver.

Назначение родительскому узлу других ролей может привести к непредусмотренному поведению программы чтения с экрана.

Для правильной работы узлам-контейнерам необходимо задать AccessibilityNode.label.

В отличие от Android и iOS, если присвоить AccessibilityNode.isActive узла-контейнера значение false, отключаются как сам узел, так и его дочерние узлы.

Поведение в Windows

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

Если для AccessibilityNode.isActive узла-контейнера задано значение true, а также задано его AccessibilityNode.label, программа чтения с экрана объявляет его метку и роль («группа»), когда пользователь входит в контейнер, фокусируясь на любом из дочерних узлов.

Настройка AccessibilityNode.isActive у узла-контейнера не влияет на его дочерние узлы.