Общий ответ
В общем, ничего предполагать не стоит. Как вы увидите ниже в конкретных 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.
Было бы интересно, если бы эксперты соответствующих других платформ пришли и отправили аналогичный ответ, как указано выше, для своих систем / программ чтения с экрана.