Навигация по словам

Дополнение WordNav NVDA улучшает встроенную навигацию по словам, а также добавляет дополнительные команды навигации по словам с другим определением слова. Оно также предоставляет команды выделения слов.

Большинство текстовых редакторов поддерживают команды Control+Стрелка влево / Стрелка вправо для навигации по словам. Однако определение слова меняется от одной программы к другой. Это особенно актуально для современных текстовых редакторов на основе веб-технологий, таких как Monaco. NVDA должна знать определение слова в данной программе, чтобы правильно произносить слова. Если NVDA не знает точного определения, то либо слова будут пропущены, либо произнесены несколько раз. Более того, некоторые текстовые веб-редакторы помещают курсор в конец слова, а не в начало, что значительно усложняет редактирование для слабовидящих пользователей. Для борьбы с этой проблемой я создал улучшенные команды навигации по словам, которые берут определение слова из Notepad++ и не полагаются на определение слов в программе, а разбирают строки на слова на стороне NVDA. Команда Control + Стрелка влево / Стрелка вправо даже не передается в программу, что обеспечивает согласованность речи.

Навигация по словам и определения слов

В настоящее время WordNav поддерживает пять определений слова, присвоенных различным жестам:

  • Левый Control+Стрелки: Определение Notepad++, которое рассматривает буквенно-цифровые символы как слова, а соседние знаки препинания также рассматриваются как слова. Это должно быть наиболее удобное определение слова для большинства пользователей.
  • Правый Control+Стрелки: Тонкое определение слова разделяет camelCaseIdentifiers и underscore_separated_identifiers на отдельные части, что позволяет курсору переходить к длинным идентификаторам.
  • Левый Control+Windows+Стрелки: Определение громоздкого слова рассматривает почти все знаки препинания, расположенные рядом с текстом, как часть одного слова, поэтому пути типа C:\directory\subdirectory\file.txt будут рассматриваться как одно слово.
  • Правый Control+Windows+Стрелки: Многословное определение, которое группирует несколько слов вместе. Количество слов настраивается.
  • Неназначено: пользовательское регулярное выражение определения слова: позволяет пользователю определить пользовательское регулярное выражение для границ слов.

Жесты могут быть настроены в панели настроек навигации по словам.

Выделение слова

Выделение слов поддерживается начиная с WordNav v2.0. Просто добавляйте модификатор shift к любым жестам навигации, чтобы выделять слова. Также есть один дополнительный жест для выделения слова:

  • control+shift+1 на цифровом блоке и control+windows+shift+1 на цифровом блоке выделить слово справа аналогично их аналогам с стрелкой вправо, но они также включают в выделение конечные пробелы.

Но обратите внимание, что используемые в настоящее время API-интерфейсы специальных возможностей имеют множество проблем, связанных с выбором слов. Пожалуйста, ознакомьтесь со следующим списком проблем и способов их устранения:

  • Приложения UIA (например, Блокнот, Visual Studio, Microsoft Word) не поддерживают установку курсора в начале выделения. В этих приложениях расположение курсора сохраняется на стороне WordNav. В качестве побочного эффекта команды навигации по тексту могут плохо сочетаться с командами выделения строк и абзацев (shift+стрелка вверх/вниз, control+shift+стрелка вверх/вниз), и результаты могут быть непредсказуемыми. Для удобства команды выделения символов (shift+стрелка влево/вправо) были обновлены в WordNav для приложений UIA и должны работать хорошо.
  • Базовые однострочные элементы управления редактированием Windows также не позволяют устанавливать курсор перед выделением, поэтому к ним также применим предыдущий пункт. Это касается всех однострочных полей редактирования в NVDA.
  • В IAccessible2 нет способа настроить выделение, охватывающее несколько абзацев. Не существует известного решения этой проблемы. Это влияет на расширенные многострочные поля редактирования в Chrome и Firefox, такие как текстовая область создания электронного письма в GMail и окно создания электронного письма в Thunderbird.
  • В notepad++ сообщения об обновлении выделения приходят неоправданно медленно. В качестве обходного решения WordNav объявляет о выделении команд выделения слов на стороне NVDA и отключает уведомления о задержке на следующие 0,5 секунд. В результате, если вы быстро нажмёте команду выделения слова, за которой последует другая команда выделения (например, символа), вы можете пропустить уведомление о выделении последней команды, если оно пришло в течение 0,5 секунд после последней команды выделения слова.
  • В многострочных полях редактирования, поддерживающих интерфейс TOM, NVDA неправильно определяет местоположение курсора при выделении. Это было исправлено в nvaccess/nvda#16455, который планируется включить в версию NVDA v2024.2. До этого выпуска команды выбора слов будут работать не правильно в окнах редактирования TOM, таких как просмотрщик журнала NVDA.

Примечания

  • Если вы хотите использовать функцию виртуальных рабочих столов в Windows 10, пожалуйста, не забудьте отключить сочетания клавиш Control+Windows+Стрелки либо на панели настроек WordNav, либо в диалоге жестов ввода NVDA.
  • Для обеспечения совместимости с VSCode необходимо установить дополнение NVDA IndentNav версии 2.0 или более поздней. Кроме того, в VSCode должно быть установлено расширение VSCode Специальные возможности для NVDA IndentNav.

Загрузки

Установите последнюю версию из магазина дополнений NVDA.