Должен ли фокус режима просмотра NVDA перемещать фокус навигации? - PullRequest
0 голосов
/ 03 августа 2020

Я знакомлюсь с программой чтения с экрана NVDA. Я обнаружил, что пользователи используют nvda «Режим просмотра» для изучения и навигации по веб-страницам. В некоторых примерах, когда я использую клавиши со стрелками в режиме просмотра для навигации по странице, основной фокус навигации остается на фокусируемом элементе html, которым он был в самом начале. Но в моем проекте фокус навигации иногда перемещается в сторону управления, которое я сейчас исследую, с помощью клавиш со стрелками в режиме просмотра. Итак, должен ли фокус навигации оставаться на месте, пока стрелки используются в режиме просмотра, или они должны перемещаться к фокусируемым элементам, которые исследуются?

1 Ответ

0 голосов
/ 04 августа 2020

Общий ответ

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

Системный фокус может следовать за курсором просмотра или не может, в зависимости от минимум на:

  • точное HTML, дерево DOM, дерево доступности
  • пользовательские настройки
  • используется программа чтения с экрана
  • используемый браузер
  • Используемая ОС

Даже если J aws и NVDA имеют хорошо известный способ работы и даже если он кажется наиболее распространенным, вы не должны ничего предполагать и не должны Не полагайтесь на эту c работу. Поступая таким образом, вы создадите проблемы для людей из целевых систем / браузеров / программ чтения с экрана, если, конечно, у вас нет такой конкретной цели c и если вы уверены, что никто не будет работать за пределами Это. J aws и NVDA не единственные существующие программы чтения с экрана под windows, и windows не единственная существующая ОС.

Specifi c ответ для J aws и NVDA

Обычно системный фокус следует за курсором focus / form / P C, но не за курсором просмотра / документа / виртуального. Это означает, что фокус системы перемещается только при переключении на первый, пока он остается активным. Но имейте в виду, это не абсолютное правило , и мы предполагаем, что вы не используете роль приложения , для которой правила другие.

Основной нужно понимать, какой курсор используется, когда и особенно когда происходит переключение. Есть три основных возможности:

  • Переключение курсора по требованию пользователя, т.е. нажатие NVDA + Space, JawsKey + Numpad +, escape, ввод в поле формы и т. Д. c.
  • При нажатии tab или shift + tab следующий или предыдущий фокусируемый элемент определяется на основе позиции курсора просмотра, но курсор формы (по крайней мере, на короткое время) переключается на, чтобы соответственно переместить системный фокус
  • Когда перемещаясь с помощью курсора обзора, курсор формы может переключаться на автоматический или нет, в зависимости от конфигурации и типа используемой навигации

Для третьей точки J aws имеет, например, настройку автоматической формы режим, с тремя вариантами:

  • ручной режим, в котором он никогда не переключается с виртуального на P C курсор автоматически
  • автоматический режим, в котором курсор P C включается автоматически и выключается при переходе в поле формы и выходе из него, при навигации с помощью вкладки и клавиш со стрелками
  • Полуавтоматический режим, когда переключение происходит только w когда вы приземляетесь на поля формы при нажатии клавиш tab и shift + tab, но не клавиш со стрелками

Настройки NVDA по умолчанию в основном автоматический режим J aws.

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

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

Specifi c ответ для VoiceOver и других

Я не знает VoiceOver так же хорошо, как J aws и NVDA, но правила, которые вызывают перемещение фокуса системы, отличаются, поскольку способ навигации по веб-содержимому VoiceOver также сильно отличается от J aws и NVDA.

Насколько я знаю, навигация с помощью ярлыков VO ведет себя в основном как режим просмотра J aws и NVDA: системный фокус не перемещается по умолчанию. Системный фокус перемещается только при начале взаимодействия неявно или явно, то есть при двойном нажатии, щелчке, нажатии tab / shift + tab и т. Д. c. Пожалуйста, исправьте меня в комментариях, и я обновлю ответ.

Также, насколько я знаю, Orca под linux имеет очень похожий способ работы, чем J aws и NVDA.

Я вообще не знаю, как это работает с Talkback под Android.

Было бы интересно, если бы эксперты соответствующих других платформ пришли и отправили аналогичный ответ, как указано выше, для своих систем / программ чтения с экрана.

...