Додаток BrowserNav (Навігація у браузері) для NVDA
Цей додаток надає користувачам NVDA потужні навігаційні команди в режимі огляду. Він працює у браузерах, а також у будь-яких інших програмах, які підтримують режим огляду NVDA, наприклад у документах Word і клієнтах електронної пошти.
Наприклад, за допомогою «Навігації у браузері» ви можете знаходити вертикально вирівняні абзаци, тобто абзаци з однаковим горизонтальним зміщенням. Це можна використовувати для читання ієрархічних дерев коментарів або неправильно сформованих таблиць HTML.
Ви також можете знайти абзаци, написані однаковим розміром або стилем шрифту.
BrowserNav також надає нові команди швидкої навігації: P для наступного діалогу та Y для наступної вкладки.
Завантажити
Використання у браузерах та інших програмах, які підтримують режим огляду
BrowserNav можна використовувати для навігації за горизонтальним зміщенням з лівого краю екрана, за розміром або стилем шрифту.
- Переходячи за горизонтальним зміщенням, на сторінці ви легко зможете знайти абзаци з вертикальним вирівнюванням. Зокрема, ви можете натиснути NVDA+Alt+ стрілка вгору чи стрілка вниз, аби перейти до наступного чи попереднього абзацу, що має те саме зміщення. Наприклад, це може бути корисним під час перегляду ієрархічних структур, зокрема, дерев і гілок коментарів (наприклад, на reddit.com) для переходу між коментарями першого рівня, пропускаючи всі коментарі вищого рівня.
- Переходячи за розміром шрифту, ви легко зможете знаходити абзаци, надруковані однаковим розміром шрифту або з більшим/меншим його розміром.
- Ви також можете переміщатися за розміром шрифту з обмеженням однакового стилю шрифту.
Для перемикання між цими параметрами використовується кільце навігації у браузері. Залежно від налаштування цього кільця, BrowserNav вказуватиме звуковими сигналами на горизонтальне зміщення або розмір шрифту поточно вибраного елемента. Крім того, BrowserNav буде потріскувати на командах швидкого переходу, щоб показати, скільки тексту було пропущено (ця функція доступна тільки в Google Chrome і Firefox).
BrowserNav працює в будь-якому браузері, які підтримує NVDA. Хоча деякі функції можуть бути доступні не у всіх браузерах. BrowserNav також працює в інших програмах, які підтримують режим огляду NVDA, таких як документи Word і поштові клієнти.
Клавіатурні команди:
- NVDA+Alt+стрілка вгору або стрілка вниз: перейти до попереднього чи наступного абзацу з тим самим горизонтальним зміщенням або розміром шрифту.
- NVDA+Alt+На початок або NVDA+alt+стрілка вліво: Перехід до попереднього абзацу з меншим відступом або більшим розміром шрифту (батьківський абзац).
- NVDA+Alt+Вкінець або NVDA+Control+alt+стрілка вліво: Перехід до наступного абзацу з меншим відступом або більшим розміром шрифту (наступний батьківський абзац).
- NVDA+Alt+Сторінка вниз або NVDA+Alt+стрілка вправо: Перехід до наступного абзацу з більшим відступом або меншим розміром шрифту (дочірній абзац).
- NVDA+Alt+Сторінка вгору або NVDA+Control+Alt+стрілка вправо: Перехід до попереднього абзацу з більшим відступом або меншим розміром шрифту (попередній дочірній абзац).
- NVDA+O: перемикає кільце налаштування між горизонтальним зміщенням, розміром шрифту та розміром шрифту зі стилем шрифту.
- Y або Shift+Y: перейти до наступної чи попередньої вкладки.
- P або Shift+P: перехід до наступного або попереднього діалогу.
- Z або Shift+Z: перехід до наступного або попереднього меню.
- ` абоShift+` (лапки або тильда): Перехід до наступної або попередньої зміни форматування.
- \ або Shift+\ (зворотна похила риска): Прокручування вгору або вниз, щоб показати кожен елемент сторінки; може бути корисним на динамічних веб-сторінках для завантаження всіх елементів; також може бути корисним на веб-сторінках з нескінченним прокручуванням для завантаження наступного фрагмента.
- 0 або Shift+0: перехід до наступного або попереднього перегляду дерева.
- 9 або Shift+9: перехід до наступної або попередньої панелі інструментів.
- NVDA+Shift+стрілка вліво: повернутися до попереднього розташування курсора в поточному документі.
- NVDA+E: редагування напівдоступних полів редагування - див. відповідний розділ нижче.
- T або Shift+T: перейти до наступної або попередньої таблиці, але помістивши курсор у першу комірку. Іноді NVDA розміщує курсор безпосередньо перед першою коміркою, і «Навігація у браузері» виправляє цю поведінку.
Закладки
BrowserNav 2.0 представляє новий набір функцій закладок.
Клавіатурні команди закладок
- NVDA+J: Показати спливаюче меню швидкого переходу.
- J або Shift+J: перехід до наступної або попередньої закладки швидкого переходу.
- / або Control+/: Перемикання режиму пропуску перешкод для навігації по рядках (стрілки Вгору і Вниз) і по абзацах (стрілки Control+Вгору і Control+Вниз) відповідно.
- Alt+J: натиснути всі закладки автонатискання на поточній сторінці.
- Alt+1, Alt+2, ..., Alt+0: перейти до наступної ієрархічної закладки відповідного рівня. 0 відповідає рівню 10.
- Shift+Alt+1, Shift+Alt+2, ..., Shift+Alt+0: перейти до попередньої ієрархічної закладки.
- Alt+
або Shift+Alt+
: перехід до наступної або попередньої ієрархічної закладки будь-якого рівня.
Сайти
Перше, що вам потрібно налаштувати - це сайт, на якому ви хочете створити закладки. У більшості випадків вам потрібно буде вказати тип відповідності: "Збіг доменного імені" або "Зіставлення домену та його піддоменів". Для ілюстрації останнього варіанту ви можете вказати:
- URL: amazon.com
- Тип відповідності: Зіставлення домену та його піддоменів
- Це відповідатиме amazon.com, smile.amazon.com та всім іншим доменам *.amazon.com.
Якщо вам потрібне точніше керування, ви також можете вказати точну адресу або визначити регулярний вираз для адреси.
Завдяки такому гнучкому визначенню, на кожній сторінці можуть бути одночасно активними кілька сайтів швидкого переходу.
Типи закладок
Після того, як ви налаштували визначення сайту, ви можете перейти до визначення закладок на ньому.
Зараз «Навігація у браузері» підтримує чотири типи закладок:
- Закладки швидкого переходу: ви можете переходити до них, натискаючи J або Shift+J.
- Закладки пропуску перешкод: Ці закладки пропускаються автоматично під час навігації по рядках (стрілка вгору/вниз) або по абзацах (клавіша Control+стрілки вгору/вниз). Це дозволяє приховати непотрібні елементи на веб-сторінках, наприклад, порожні рядки, мітки часу та будь-яку іншу надлишкову інформацію. Інформація не видаляється повністю, пропуск перешкод можна тимчасово вимкнути за допомогою команди / або Control+/. Початково пропуск перешкод пропускає порожні абзаци на всіх сайтах.
- Закладки автонатискання: ви можете позначити елементи, на які можна натиснути, наприклад, посилання, кнопки або прапорці, як закладки автонатискання. Тоді, натиснувши Alt+J, ви зможете швидко натиснути всі закладки автонатискання на поточній сторінці одним натисканням клавіш, не переміщуючи курсор. Це може стати в нагоді для натискання часто використовуваних кнопок на сайті, таких як кнопка відтворення на YouTube або кнопка вимкнення звуку на сайтах відеоконференцій.
- Ієрархічні закладки: схожі на закладки швидкого переходу, але тут враховується горизонтальне зміщення закладки. Такі сайти, як Reddit і Hacker News, мають ієрархічне дерево коментарів, у якому досить складно орієнтуватися користувачам програм читання з екрана. На цих сайтах ви можете позначати коментарі як ієрархічні закладки, а потім переходити між ними за допомогою комбінації клавіш Alt+цифра або Shift+Alt+цифра, де цифра позначає номер рядка 1,2,3,...0 - це рівень коментаря. Початково BrowserNav має ієрархічні закладки для Hacker News та old.reddit.com; однак було занадто складно налаштувати їх для сучасного сайту reddit.com, оскільки на ньому немає легкодоступного для пошуку абзацу, який би ідентифікував коментарі.
Створення нової закладки
Після того, як ви налаштували сайт, найпростіший спосіб створити нову закладку - перейти до потрібного абзацу в документі, натиснути NVDA+J, щоб відкрити контекстне меню закладок, і вибрати Закладки > Створити нову закладку для сайту ...
Відкриється діалог налаштувань закладок. Тепер ви можете налаштувати закладку. Ви можете змінити тип відповідності (наприклад, точний збіг абзацу чи збіг абзацу регулярного виразу).
Інші налаштування в цьому діалозі:
- Категорія: визначає тип закладки.
- Відображуване ім’я: додаткове ім'я цієї закладки для кращої читабельності. Це просто дає змогу швидше ідентифікувати цю закладку в довгому списку закладок.
- Голосове повідомлення, коли знайдено закладку: необов'язкове повідомлення, яке вимовлятиметься щоразу, коли ви натискатимете на цю закладку в документі.
- Зміщення в абзацах: після знаходження відповідного тексту BrowserNav перемістить курсор на таку кількість абзаців вперед або назад. Це може бути корисно, наприклад, якщо цільовий текст, до якого ви хочете перейти, не містить загального тексту, який можна знайти (наприклад, повідомлення на форумі), але попередній абзац містить відповідне слово (наприклад, (голосування за). У цьому випадку ви можете зіставити слово голосувати за і вказати offset=1, щоб розмістити курсор на першому абзаці публікації замість слова голосувати за.
- Атрибути: відокремлений пробілами список атрибутів абзацу, за якими виконується пошук. Список доступних атрибутів для поточного абзацу доступний у наступному полі форми. Список атрибутів попередньо заповнено деякими загальними ролями, і, як правило, вам не потрібно його редагувати.
- Доступні атрибути в поточному абзаці: це всі атрибути, знайдені в поточному абзаці. Ви можете виділити їх і натиснути клавішу Пробіл, щоб додати до списку відповідних атрибутів.
Розширені параметри сайту
У діалозі налаштуваннь сайту ви можете вказати низку додаткових параметрів:
- Відображуване ім’я: необов'язкове ім'я відображення для кращої читабельності у списку сайтів.
- Режим фокуса: дозволяє змінити стандартну обробку подій фокусування у NVDA. Деякі веб-сайти зловживають подіями фокусування. Для того, щоб використовувати їх зручніше, ви можете або ігнорувати події фокусування, або вимкнути автоматичний перехід у режим фокуса при отриманні події фокусування.
- Режим динамічної області: Деякі веб-сайти зловживають динамічними областями. Ця опція дозволяє вимкнути оголошення в реальному часі тільки для поточного сайту.
- Режим налагодження і звукового сигналу: Ви можете зробити так, щоб NVDA видавала звуковий сигнал, коли відбувається певна подія (фокусування, оновлення динамічної області або успішне автонатискання).
- Виконувати автонатискання при автоматичному завантаженні сторінки: коли ви налаштовуєте закладку швидкого натискання ви можете налаштувати автоматичне натискання цієї закладки після повного завантаження веб-сайту. Інша опція дозволяє BrowserNav продовжувати стежити за веб-сайтом, і коли з'являться нові закладки швидкого натискання, він буде натискати їх автоматично. Зверніть увагу, що ця функція є експериментальною.
Конфігурація
Визначення закладок зберігаються у конфігураційному каталозі NVDA у файлі browserNavRules.json
. Ви можете редагувати цей файл вручну або поділитися ним з кимось.
Каталог конфігурації NVDA можна знайти, відкривши меню "Пуск" і ввівши команду: Переглянути папку з користувацькими налаштуваннями NVDA.
BrowserNav початково постачається з файлом конфігурації зі зразками закладок.
Редагування напівдоступних полів редагування
Багато сучасних веб-додатків, зокрема Jupyter, використовують поля для редагування, які не дуже доступні, наприклад, вони виглядають порожніми, але ви можете копіювати текст до них і з них за допомогою комбінації клавіш Control+A, Control+C і Control+V.
BrowserNav пропонує експериментальну функцію для редагування цих полів у зручніший спосіб. Для того, щоб нею скористатися:
- Знайдіть поле редагування у вікні браузера.
- Натисніть NVDA+E.
- З’явиться нове вікно з вмістом цього поля редагування.
- Відредагуйте вміст поля редагування в цьому вікні.
- Закінчивши, ви можете натиснути клавішу Escape, щоб закрити доступне вікно редагування і оновити поле редагування на веб-сторінці.
- Крім того, ви можете натиснути комбінацію клавіш Control+Enter, Shift+Enter або Alt+Enter. Це закриє вікно редагування, оновить поле редагування і передасть жест веб-додатку.
- Щоб закрити вікно редагування без збереження змін, натисніть Alt+F4.
- У будь-який момент, якщо вміст раніше відредагованого тексту буде втрачено, натисніть NVDA+Control+E, щоб скопіювати його до буфера обміну.
Примітки:
- Не змінюйте стан браузера, наприклад, не перемикайте вкладки і не фокусуйтеся на інших елементах на вкладці, поки відкрито вікно редагування тексту. Це заважатиме «Навігації у браузері» коректно оновлювати текст у вікні редагування.
- Обов’язково швидко відпускайте модифікатори Control, Shift або Alt після натискання Control+Enter, Shift+Enter або Alt+Enter. Якщо утримувати їх понад секунду, виникнуть проблеми.
- Ця функція наразі є експериментальною. Будь ласка, очікуйте лише 90-95% успіху.
- Ретельно протестовано в Google Chrome та Firefox. Додаток може працювати в інших браузерах, але існує більша ймовірність виникнення проблем, таких як втрата інформації.
Вихідний код
Вихідний код доступний за адресою http://github.com/mltony/nvda-indent-nav.