При использовании программы чтения с экрана, такой как NVDA, как нажать левую или правую клавишу?

#keyboard-shortcuts #screen-readers

#сочетания клавиш #программы чтения с экрана

Вопрос:

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

Если кто-нибудь знает, как я могу нажать левую или правую клавишу, чтобы вызвать событие нажатия клавиши элемента?

Спасибо.

Ответ №1:

Программа чтения с экрана имеет два режима: режим просмотра (в котором события клавиатуры отправляются в программу чтения с экрана) и режим форм (в котором события клавиатуры отправляются в HTML-элемент).

Настройка по умолчанию для большинства программ чтения с экрана — автоматическое переключение между двумя режимами для определенных типов HTML-элементов, хотя вы также можете вручную переключаться между двумя режимами.

Таким образом, ключом к отправке событий клавиатуры вашему элементу является использование правильного элемента html (это элементы, требующие управления фокусом клавиатуры) или использование роли для этого элемента.

Следующие элементы будут автоматически переключаться между режимом просмотра (клавиша со стрелкой, считывающая следующий символ) и режимом форм (элемент html, обрабатывающий клавишу со стрелкой):

  • Combobox
  • Сетка
  • Список
  • Меню или строка меню
  • Radiogroup
  • Вкладки
  • Панель инструментов
  • Древовидная сетка
  • Древовидный вид

Некоторые из этих элементов имеют собственный html-элемент (например, <input type='radio'> ), но для других требуется роль (например, <div role='tablist'> ).

Если ваш компонент не попадает ни в один из этих виджетов, вы можете использовать role="application" , но я всегда предостерегаю от использования этой роли. Это часто используется неправильно и может затруднить использование веб-сайта пользователем программы чтения с экрана, если роль используется неправильно.

Комментарии:

1. Спасибо slugolicious. Это работает после того, как я переключаюсь в режим форм, нажимая [NVDA] <ПРОБЕЛ>.

2. Да, вы можете переключаться вручную, но вы должны спросить себя, должен ли пользователь это делать или он должен автоматически переключаться для них.

3. В моем случае элемент управления представляет собой перетаскиваемую кнопку, которая служит обработчиком изменения размера столбца в таблице данных. Для удобства работы с клавиатурой он использует события нажатия клавиш <влево> и <вправо> для эмуляции поведения щелчка и перетаскивания. Вероятно, NVDA не переключается автоматически Forms Mode на кнопку. И поскольку он находится внутри стороннего компонента, я не могу протестировать его с application помощью role. Спасибо за вашу помощь. Я дам вам знать, если у меня появятся какие-то новые результаты.

4. Да, мы также внедрили изменение размера столбцов для таблиц, используя парадигму перетаскивания ширины столбца. Мы использовали модифицированную стрелку (например, ctrl left или shift left) для изменения размера.