Навигация по словам
- Автор: Tony Malykh
- Загрузить стабильную версию
- Совместимость с NVDA: 2019.3 и позже
Дополнение 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.