Навигация по думи (WordNav)

WordNav NVDA add-on improves built-in navigation by word, as well as adds extra word navigation commands with different definition for the word. It also provides word selection commands.

Повечето текстови редактори поддържат команди Control+стрелка наляво/стрелка надясно за навигация по думи. Определението за дума обаче се различава от една програма до друга. Това важи особено за съвременните уеб-базирани текстови редактори, като например "Monaco". NVDA трябва да знае определението за дума в дадената програма, за да говори правилно думите. Ако NVDA не знае точното определение, тогава или думите ще бъдат пропуснати, или произнесени няколко пъти. Освен това някои уеб-базирани текстови редактори позиционират курсора в края на думата, вместо в началото, което прави редактирането много по-трудно за потребители с увредено зрение. За да се преборя с този проблем, създадох разширени команди за навигация по думи, които вземат определението за дума от Notepad++ и те не разчитат на определението за дума в програмата, а по-скоро анализират редовете от думи от страна на NVDA. Жестът Control+стрелка наляво/стрелка надясно дори не се изпраща до програмата, като по този начин се гарантира последователността на речта.

Word navigation and word definitions

Currently WordNav supports five definitions of the word, assigned to different gestures:

  • Ляв Control+стрелки: Определение от Notepad++, което третира буквено-цифровите знаци като думи, а съседните препинателни знаци също се третират като думи. Това би трябвало да е най-удобното определение за дума за повечето потребители.
  • Десен Control+стрелки: Фино определение за дума, разделящо "ИдентификаториСМалкиИГлавниБукви" и "Идентификаториразделенисдолничерти" на отделни части, като по този начин позволява на курсора да обхожда дълги идентификатори.
  • LeftControl+Windows+Arros: Bulky word definition treats almost all punctuation symbols adjacent to text as part of a single word, therefore it would treat paths like C:\directory\subdirectory\file.txt as a single word.
  • Десен Control+Windows+стрелки: Определение за множество думи, което групира няколко думи заедно. Количеството думи може да се конфигурира.
  • Unassigned: custom regular expression word definition: allows user to define a custom regular expression for word boundaries.

Жестовете могат да бъдат персонализирани в панела за настройки на "Навигация по думи".

Word selection

Word selection is supported starting with WordNav v2.0. Just add shift modifier to any word navigation gestures to select words. There is also one extra gesture for word selection:

  • control+shift+numpad1 and control+windows+shift+numpad1 select word to the right similar to their rightArrow counterparts, but they also include trailing spaces into selection.

Please note, however, that currently used accessibility APIs have multiple issues related to word selection. Please get yourself familiar with the following list of issues and workarounds:

  • UIA applications (e.g. Notepad, Visual Studio, Microsoft Word) don't support setting caret at the beginning of selection. In those applications caret location is stored on WordNav side. As an adverse side effect, word navigation commands might not play well with line and paragraph selection commands (shift+up/downArrow, control+shift+up/downArrow) and results might be unpredictable. For convenience, character selection commands (shift+left/rightArrow) have been updated in WordNav for UIA applications and should work well.
  • Basic single line Windows edit controls also don't allow to set the caret in front of selection, so the previous point also applies to them. This affects all single line edit boxes within NVDA.
  • IAccessible2 doesn't provide a way to set selection spanning across multiple paragraphs. There is no known workaround for this issue. This affects rich multiline edit boxes in Chrome and Firefox, such as compose email text area in GMail and compose email window in Thunderbird.
  • In notepad++ selection update messages come unreasonably slow. As a workaround, WordNav announces selection on NVDA side for word selection commands and silences late notifications for the following 0.5 seconds. As a result, if you press word selection command followed by another (e.g. character) selection command in quick succession, you might miss selection notification for the latter one if it came within 0.5 seconds from the last word selection command.
  • In multiline edit boxes supporting TOM interface NVDA incorrectly identifies cursor location when selection is present. This has been fixed in nvaccess/nvda#16455, which is scheduled to be included in NVDA v2024.2 release. Before that release word selection commands won't work correctly in TOM edit boxes, such as NVDA log viewer.

Бележки

  • Ако искате да използвате функцията за виртуални работни плотове на Windows 10, не забравяйте да деактивирате клавишните комбинации Control+Windows+стрелки или в панела за настройки на "Навигация по думи", или в диалоговия прозорец "Жестове на въвеждане" на NVDA.
  • Compatibility with VSCode requires NVDA add-on IndentNav v2.0 or later to be installed. Additionally, VSCode extension Accessibility for NVDA IndentNav must be installed in VSCode.

Downloads

Please install the latest version from NVDA add-on store.