Перейти к основному содержимому Главная страница каталога дополнений для NVDA от русскоязычного сообщества NVDA.RU.

Официальный русскоязычный каталог дополнений NVDA

Крупнейший каталог дополнений для программы экранного доступа NVDA, доступный в Интернете

Каталог дополнений от 🇷🇺 русскоязычного сообщества NVDA.RU.

BrowserNav (Навигация по обзору)

Краткое описание

Дополнение BrowserNav предоставляет пользователям NVDA мощные навигационные команды в режиме обзора. Оно работает в веб-браузерах, а также в любых других приложениях, поддерживающих режим обзора NVDA, таких как документы Word и почтовые клиенты.
BrowserNav можно использовать для навигации по горизонтальному смещению от левого края экрана, по размеру шрифта или по стилю шрифта.
При навигации по горизонтальному смещению можно легко найти абзацы, выровненные по вертикали на странице.
В частности, вы можете нажать NVDA+Alt+Стрелка вниз или Стрелка вверх, чтобы перейти к следующему или предыдущему абзацу с таким же смещением.
Например, это может быть полезно при просмотре иерархических деревьев комментариев (например, на reddit.com), чтобы переходить между комментариями первого уровня и пропускать все комментарии более высокого уровня.
При навигации по размеру шрифта вы можете легко найти абзацы, написанные одинаковым размером шрифта или меньшим/большим размером шрифта.
Вы также можете ориентироваться по размеру шрифта с ограничением на тот же стиль шрифта.
Для переключения между этими вариантами используется ротор BrowserNav. В зависимости от настройки этого ротора, BrowserNav будет сигнализировать либо о горизонтальном смещении, либо о размере шрифта выбранного в данный момент элемента. Кроме того, BrowserNav будет издавать короткий звук при выполнении команд Быстрой навигации, чтобы показать, сколько текста было пропущено (эта функция доступна только в Google Chrome и Firefox).
BrowserNav работает в любом браузере, поддерживаемом NVDA. Хотя некоторые функции могут быть доступны не во всех браузерах. BrowserNav также работает в других приложениях, поддерживающих режим обзора NVDA, таких как документы Word и почтовые клиенты.

Назад к оглавлению

Основная информация

Название Версия Совместимость с API NVDA Последняя протестированная версия NVDA Минимальная версия NVDA Дата загрузки в каталог Размер Лицензия
browsernav 2.6 2024.1 2024.1.0 2024.1.0 30-05-2024 00:02:11 23319 Кб. GPL v2
Назад к оглавлению

Информация о локализации на русский язык

Назад к оглавлению

Скачать

BrowserNav-V.2.6.nvda-addon

Назад к оглавлению

Разделы

Назад к оглавлению

Справка

Уважаемые пользователи сайта. Еще не все дополнения имеют локализованную справку, кроме того, не у всех дополнений есть справка.
Для того Чтобы узнать это, нажмите на следующую кнопку.

Подробнее

BrowserNav (Навигация по обзору)

Дополнение BrowserNav предоставляет пользователям NVDA мощные навигационные команды в режиме обзора. Оно работает в веб-браузерах, а также в любых других приложениях, поддерживающих режим обзора NVDA, таких как документы Word и почтовые клиенты.

Скачать

Пожалуйста, установите дополнение через магазин дополнений.

Использование в браузерах и других программах, поддерживающих режим обзора

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

BrowserNav можно использовать для навигации по горизонтальному смещению от левого края экрана, по размеру шрифта или по стилю шрифта.

Для переключения между этими вариантами используется ротор BrowserNav. В зависимости от настройки этого ротора, BrowserNav будет сигнализировать либо о горизонтальном смещении, либо о размере шрифта выбранного в данный момент элемента. Кроме того, BrowserNav будет издавать короткий звук при выполнении команд Быстрой навигации, чтобы показать, сколько текста было пропущено (эта функция доступна только в Google Chrome и Firefox).

BrowserNav работает в любом браузере, поддерживаемом NVDA. Хотя некоторые функции могут быть доступны не во всех браузерах. BrowserNav также работает в других приложениях, поддерживающих режим обзора NVDA, таких как документы Word и почтовые клиенты.

Сочетание клавиш:

Закладки Быстрый переход

Закладки BrowserNav Быстрый переход - это мощный инструмент, позволяющий перемещаться по веб-страницам и автоматизировать некоторые повторяющиеся действия.

Клавиши закладок

Вы также можете настроить пользовательские сочетания клавиш для большинства типов закладок (кроме Пропустить беспорядок, иерархический и числовой сценарий).

Сайты

Первое, что вам нужно настроить, - это сайт, на котором вы хотите создавать закладки. В большинстве случаев вы хотите указать тип соответствия: «Соответствие домену» или «Соответствие домену и его поддоменам». Чтобы проиллюстрировать последний вариант, вы можете указать:

Если вам нужен более тонкий контроль, вы также можете указать точный URL или определить регулярное выражение для URL.

Благодаря такому гибкому определению на каждой конкретной веб-странице могут быть одновременно активны несколько сайтов Быстрый переход.

Типы закладок

После того как вы настроили определение сайта, вы можете перейти к определению закладок на нем.

BrowserNav поддерживает несколько типов закладок:

Создание новой закладки

После того, как вы настроили сайт, самый простой способ создать новую закладку - перейти к нужному абзацу в документе, нажать NVDA+J для отображения контекстного меню закладок и выбрать Закладки > Создать новую закладку для сайта...

Откроется диалог настройки закладок. Теперь вы можете настроить закладку. Вы можете изменить способ сопоставления текста (например, сопоставление строк или регулярное выражение).

Другие параметры в этом диалоге:

Дополнительные параметры сайта

В диалоге конфигурации сайта вы можете указать ряд дополнительных опций:

Сценарии

Начиная с BrowserNav v2.5 вы можете настраивать закладки с помощью сценариев Python. Сценарии можно использовать для двух целей:

  1. Для улучшения алгоритма подбора, когда существующих вариантов подбора недостаточно. Это относится к закладкам QuickJump, QuickSpeak, QuickClick, иерархическим и SkipClutter.
  2. Выполнение произвольного кода Python для автоматизации определенных действий на веб-страницах. Это можно сделать с помощью закладок Script или Numeric Script.

API Сценариев

В скрипте вам предоставляются следующие переменные:

Рекомендуется работать с параграфами, так как они предоставляют интерфейс более высокого уровня, чем textInfo.

Ваш скрипт должен решить, соответствует ли текущий параграф вашему пользовательскому правилу или нет. Вы можете:

Вы также можете импортировать любые модули и писать скрипты общего назначения.

Вы можете использовать оператор print() для отладки вашего скрипта: вывод будет напечатан в журнал NVDA.

Примеры сценариев

  1. Этот скрипт проверяет, что текущий абзац является ссылкой и что текст предыдущего заголовка уровня 5 начинается с текста текущего абзаца:
    try:
        if controlTypes.Role.LINK in p.roles and p.previousHeading5.textInfo.text.startswith(p.text):
            print(f «pp5 {p.previousHeading5.textInfo.text}»)
            return True
    except NotFoundError:
        return None
  2. Этот скрипт не выполняет проверку, но активирует последнее поле редактирования на странице: ''' p.end.previous.previousEdit.activate() '''
  3. Этот скрипт находит имя пользователя, которое может находиться на один или два абзаца впереди; затем он находит начало комментария, анализируя размер шрифта; затем он находит конец комментария, ища текст «Ответить». Затем он проверяет весь текст комментария и добавляет имя пользователя, которое должно быть произнесено перед найденным текстом:
    user = p.next
    if user.text == «downvote»:
        user = user.next
    try:
        username = user.text.split()[0]
    except IndexError:
        username = '?'
    pp = p
    begin = None
    for i in range(5):
        fs = pp.attributes.get(ParagraphAttribute.FONT_SIZE, [])
        #print(f «i={i} fs={fs}»)
        if '9_pt' in fs:
            begin = pp
            break
        pp = pp.next
    else:
        return
    end = begin
    while end.text != 'reply':
        end = end.next
    match(textInfoRange(begin, end), username)
  4. Этот скрипт является генератором, что означает, что все, что он выдает, будет использовано в качестве времени сна перед выполнением следующей строки. Этот скрипт будет выполняться в фоновом потоке неблокирующим образом. Этот скрипт выполняет ряд действий:

    • Находит кнопку с заданным именем и нажимает ее.
    • Вводит всплывающий диалог: p.home.nextEmbeddedObject.activate().
    • Получает новый сфокусированный элемент в этом диалоге: d = getFocusParagraph().
    • Находит и проверяет чекбокс в этом диалоге.
    • Находит другую кнопку в этом диалоговом окне по имени и нажимает ее. Эти действия повторяются 20 раз с помощью функции retry. Затем, после паузы в 500 мс, он находит кнопку «Run Query» и нажимает ее.
      
      def waitForDialogAndClickCheckbox():
      try:
          p.home.find("Link Last Used").activate()
          p.home.nextEmbeddedObject.activate()
      except NotFoundError:
          pass
      d = getFocusParagraph()
      c = d.home.nextCheckBox
      if controlTypes.State.CHECKED not in c.obj.states:
          c.activate() 
      d.home.find("Link QCPR Project").activate()

    yield from retry(waitForDialogAndClickCheckbox, count=20) yield 500 yield from retry(lambda: p.home.find("Run Query").activate(), count=10)

  5. Это числовой скрипт, поскольку в качестве входной переменной он принимает level. Он находит level-ное поле редактирования из начала страницы (или из конца, если level отрицательный) и вызывает на нем script_editJupyter.
    if level > 0:
        p = p.home
        for i in range(level):
            p = Paragraph(p.nextEdit.textInfo)
    elif level <= 0:
        level = 1-level
        p = p.end.previous
        tones.beep(500, 50)
        for i in range(level):
            p = Paragraph(p.previousEdit.textInfo)
        else:
            tones.beep(500, 50)
    p.textInfo.obj.currentFocusableNVDAObject = p.textInfo.focusableNVDAObjectAtStart
    p.textInfo.obj.script_editJupyter(None)

Конфигурация

Определения закладок хранятся в директории конфигурации NVDA в файле browserNavRules.json. Вы можете отредактировать этот файл вручную или поделиться им с кем-нибудь.

Каталог конфигурации NVDA можно найти, открыв меню Пуск и набрав: Просмотреть папку пользовательских настроек NVDA.

BrowserNav поставляется с файлом конфигурации по умолчанию с примерами закладок.

Редактирование полудоступных полей редактирования

Многие современные веб-приложения, в частности Jupyter, используют поля редактирования, которые не так доступны, например, они кажутся пустыми, но вы можете копировать текст в них и из них с помощью клавиш Control+A, Control+C и Control+V.

BrowserNav предлагает экспериментальную функцию, позволяющую редактировать эти поля редактирования более удобным способом. Чтобы воспользоваться ею, выполните следующие действия:

  1. Найдите поле редактирования в окне браузера.
  2. Нажмите NVDA+E.
  3. Появится новое окно с содержимым этого поля редактирования.
  4. Отредактируйте содержимое этого окна в этом окне.
  5. После завершения работы нажмите Escape, чтобы закрыть доступное окно редактирования и обновить поле редактирования на веб-странице.
  6. В качестве альтернативы можно нажать Control+Enter, Shift+Enter или Alt+Enter. Это приведет к закрытию окна редактирования, обновлению поля редактирования и передаче жеста веб-приложению.
  7. Чтобы закрыть окно редактирования без сохранения изменений, нажмите Alt+F4.
  8. В любой момент, если содержимое ранее отредактированного текста потеряно, нажмите NVDA+Control+E, чтобы скопировать его в буфер обмена.

Примечания:

Исходный код

Исходный код доступен по адресу http://github.com/mltony/nvda-indent-nav.

Перевод

Назад к оглавлению

История версий

Список версий
Назад к оглавлению