NVDA обновилась до версии 2019.3

Долгожданный релиз NVDA 2019.3, в котором ну просто очень много различных изменений, начиная от удаления старого кода, и заканчивая переходом на Python3, сегодня состоялся. Это было действительно очень масштабное обновление, поскольку оно затронуло абсолютно все дополнения, синтезаторы речи для NVDA и т.п. Некоторые дополнения до сих пор не были обновлены, но мы надеемся, что это произойдёт в ближайшем будущем, и раздел дополнений для NVDA пополнится новыми совместимыми версиями. Подписывайтесь на нашу рассылку, чтобы быть в курсе всех новостей портала!
А пока давайте посмотрим на все изменения этого релиза!

Что нового в NVDA 2019.3

NVDA 2019.3 — это очень значительный релиз, содержащий множество внутренних изменений, включающих в том числе переход с Python 2 на Python 3 и серьёзное переписывание речевой подсистемы.
Несмотря на то, что эти изменения нарушают совместимость со старыми дополнениями NVDA, обновление на Python 3 необходимо для повышения безопасности, а переработка речевой подсистемы позволяет в ближайшем будущем реализовать некоторые интересные нововведения.
Среди других новшеств этого выпуска можно выделить поддержку 64-х разрядных виртуальных машин Java, функциональность затемнения экрана и подсветки фокуса, поддержку большего числа брайлевских дисплеев и нового средства визуального просмотра брайлевского вывода, а также исправление большого числа других ошибок.

Новое



  • В текстовых полях Java-приложений улучшена точность установки указателя мыши при использовании команды приведения мыши к объекту навигатора. (#10157)
  • Добавлена поддержка следующих брайлевских дисплеев Handy Tech (#8955):

    • Basic Braille Plus 40
    • Basic Braille Plus 32
    • Connect Braille

  • Все ранее настроенные в диалоге «Жесты ввода» пользовательские жесты теперь могут быть удалены с помощью новой кнопки «Сбросить к заводским настройкам». (#10293)
  • Чтение шрифта в Microsoft Word теперь включает в себя информацию о том, является ли текст скрытым. (#8713)
  • Добавлена команда для перемещения просмотрового курсора к позиции ранее установленной как начало выделяемого или копируемого фрагмента текста: NVDA+Shift+F9. (#1969)
  • В Internet Explorer, Microsoft Edge и последних версиях Firefox и Chrome, ориентиры теперь сообщаются как в режиме редактирования, так и при использовании объектной навигации. (#10101)
  • В Internet Explorer, Google Chrome и Mozilla Firefox, теперь возможно перемещаться по статьям и группам с помощью комманд быстрой навигации. Клавиши на соответствующие команды могут быть назначены в диалоге «Жесты ввода», при открытии его из документа с активным режимом обзора. (#9485, #9227)

    • Также теперь поддерживаются объекты-иллюстрации (элементы <figure>). Они считаются встроенными объектами и перемещение между ними выполняется клавишами O и Shift+O.

  • В Internet Explorer, Google Chrome и Mozilla Firefox, элементы-статьи теперь сообщаются при использовании объектной навигации и опционально в режиме обзора, если в настройках форматирования документа установлен соответствующий флажок. (#10424)
  • Добавлена функция затемнения экрана, которая будучи активированной на системах начиная с Windows 8, позволяет сделать экран компьютера полностью чёрным. (#7857)

    • Для быстрой активации этого режима в диалог «Жесты ввода» добавлена соответствующая команда, однократный вызов которой включает временное затемнение экрана до следующей перезагрузки NVDA, а двойной — активирует этот режим на постоянной основе. По умолчанию на эту команду нет назначенной комбинации клавиш.
    • Затемнение экрана также может быть включено и настроено в категории «Зрение» диалога настроек NVDA.

  • В NVDA добавлена возможность подсветки отдельных элементов экрана. (#971, #9064)

    • Подсветку системного фокуса, объекта навигатора и курсора режима обзора можно настроить в категории «Зрение» диалога настроек NVDA.
    • Обратите внимание, что эта функция несовместима с дополнением Focus Highlight, но его использование всё равно возможно при отключении встроенной подсветки.

  • Добавлен новый инструмент «Просмотрщик брайля», позволяющий просматривать брайлевский вывод в отдельном окне на экране. (#7788)

Изменения



  • Руководство пользователя теперь описывает использование NVDA с Windows Console. (#9957)
  • Запуск nvda.exe теперь по умолчанию перезагружает уже запущенную копию NVDA. Аргументы командной строки «-r» и «—replace» всё ещё могут быть переданы, но будут проигнорированы. (#8320)
  • В Windows 8 и более поздних версиях, NVDA теперь будет сообщать информацию о имени и версии опубликованных приложений (например загруженных из магазина Microsoft), используя данные предоставленные самим приложением. (#4259, #10108)
  • При переключении функции отслеживания исправлений в Microsoft Word по горячим клавишам, NVDA теперь сообщает новое состояние этой настройки. (#942)
  • Номер версии NVDA теперь регистрируется в журнале первой записью. Это происходит даже если ведение журнала было отключено в диалоге настроек NVDA. (#9803)
  • Диалог настроек NVDA больше не позволяет изменять уровень ведения журнала если он был переопределён в командной строке. (#10209)
  • NVDA в Microsoft Word теперь сообщает статус отображения непечатаемых символов при его переключении по комбинации Control+Shift+8. (#10241)
  • Liblouis braille translator обновлён до коммита 58d67e63. (#10094)
  • Если в настройках речи включено использование базы данных консорциума Unicode, то символы из этой базы (преимущественно эмодзи) теперь будут читаться на всех уровнях пунктуации NVDA. (#8826)
  • Сторонние Python пакеты включённые в NVDA (например такие как comtypes), теперь записывают свои предупреждения и ошибки в журнал NVDA. (#10393)
  • Общий репозиторий языковых данных консорциума Unicode (CLDR), используемый в NVDA для чтения символов эмодзи, обновлён до версии 36.0. (#10426)
  • При фокусировке на группу в режиме обзора, NVDA теперь сообщает описание этой группы. (#10095)
  • Для получения доступа к Java-приложениям из коробки (в том числе использующим 64-х разрядные виртуальные машины), NVDA теперь включает в свой состав компонент Java Access Bridge. (#7724)
  • Если Java Access Bridge отключён для текущего пользователя, то NVDA теперь будет автоматически включать его при своём запуске. (#7952)
  • Синтезатор eSpeak-NG обновлён до версии 1.51-dev (коммит ca65812ac6019926f2fbd7f12c92d7edd3701e0c). (#10581)

Исправления



  • Эмодзи и другие 32-х разрядные символы Unicode, при их отображение в шестнадцатиричном формате теперь занимают меньше места на брайлевском дисплее. (#6695)
  • В UWP-приложениях Windows 10, NVDA теперь сообщает всплывающие подсказки, если их чтение включено в категории «Представление объекта» диалога настроек NVDA. (#8118)
  • На Windows 10 Anniversary Update и более поздних версиях, NVDA теперь сообщает вводимый текст в Mintty. (#1348)
  • На Windows 10 Anniversary Update и более поздних версиях, вывод в консольных окнах рядом с кареткой больше не приводит к посимвольному чтению этого вывода. (#513)
  • Элементы управления в диалоге компрессии звукового редактора Audacity теперь корректно сообщаются при навигации по этому диалогу. (#10103)
  • В текстовых редакторах на основе Scintilla (таких как Notepad++), NVDA больше не рассматривает пробелы как отдельные слова при просмотре их в режиме объекта. (#8295)
  • NVDA теперь предотвращает переход системы в режим сна при прокрутке текста на брайлевском дисплее. (#9175)
  • На Windows 10, брайлевский дисплей теперь корректно отображает редактируемое содержимое ячеек в Microsoft Excel, и другие текстовые элементы управления UIA. (#9749)
  • NVDA теперь снова сообщает предложения по вводу в адресной строке Microsoft Edge. (#7554)
  • NVDA больше не замолкает при фокусировке на заголовке HTML-таблицы в Internet Explorer. (#8898)
  • В Microsoft Edge, основанном на движке EdgeHTML, NVDA больше не воспроизводит звук предложений по вводу при разворачивании окна браузера. (#9110, #10002)
  • В WEB-браузерах Mozilla Firefox и Google Chrome, NVDA теперь поддерживает комбинированные списки из стандарта ARIA 1.1. (#9616)
  • NVDA больше не сообщает содержимое визуально скрытых колонок в элементах управления SysListView32. (#8268)
  • При работе на защищённых экранах, NVDA в своём диалоге настроек больше не отображает значение «info» как текущий уровень ведения журнала NVDA. (#10209)
  • В меню «Пуск» Windows 10 Anniversary Update и более поздних версий, NVDA теперь сообщает более подробную информацию о результатах поиска. (#10232)
  • Перемещение курсора в режиме обзора, приводящее к изменениям в документе, больше не вызывает в некоторых случаях некорректное чтение содержимого этого документа. (#8831, #10343)
  • В Microsoft Word были исправлены названия некоторых маркеров. (#10399)
  • В Windows 10 May 2019 Update и более поздних версиях, NVDA теперь снова сообщает первый выбранный эмодзи или элемент буфера обмена при открытии панели эмодзи или истории буфера обмена соответственно. (#9204)
  • В Poedit теперь снова возможно просматривать некоторые переводы для языков с написанием справа налево. (#9931)
  • В приложении «Параметры» на Windows 10 April 2018 Update и более поздних версиях, NVDA больше не будет сообщать прогресс индикатора выполнения для ползунка настройки громкости на странице «Система/Звук». (#10284)
  • Некорректные регулярные выражения в речевых словарях NVDA больше не приводят к полной остановки речевого вывода. (#10334)
  • При чтении маркированного списка в Microsoft Word с включённой поддержкой UIA, NVDA больше не сообщает маркер следующего элемента при чтении текущего. (#9613)
  • Решены некоторые редкие проблемы и ошибки с брайлевской трансляцией в Liblouis. (#9982)
  • Java-приложения запущенные перед NVDA, теперь доступны без необходимости их перезапуска. (#10296)
  • Когда в Mozilla Firefox элемент в фокусе помечается как текущий (с помощью атрибута aria-current), то NVDA больше не сообщает это изменение несколько раз подряд. (#8960)
  • NVDA при перемещении по тексту теперь будет рассматривать составные символы Unicode (такие как e с акутом) как один единый символ. (#10550)
  • NVDA теперь поддерживает Spring Tool Suite версии 4. (#10001)
  • NVDA больше не читает дважды имя объекта, если его атрибут aria-labelledby ссылается на внутренний элемент. (#10552)
  • В Windows 10 1607 и более поздних версиях, набор символов с клавиатуры брайлевского дисплея теперь читается в большем числе ситуаций. (#10569)
  • При смене устройства вывода звука, тоновые сигналы NVDA теперь будут проигрываться через новое выбранное устройство. (#2167)
  • В Mozilla Firefox, перемещение системного фокуса в режиме обзора теперь является более быстрым, что делает управление курсором режима обзора во многих случаях более отзывчивым. (#10584)

Изменения для разработчиков



  • Python обновлён до версии 3.7. (#7105)
  • pySerial обновлён до версии 3.4. (#8815)
  • Для поддержки Python 3.5 и выше, wxPython обновлён до версии 4.0.3. (#9630)
  • Модуль six обновлён до версии 1.12.0. (#9630)
  • py2exe обновлён до версии 0.9.3.2 (коммит b372a8e from albertosottile/py2exe#13). (#9856)
  • UIAutomationCore.dll обновлён до версии 10.0.18362. (#9829)
  • Список автодополнения по клавише tab в Python консоли NVDA, теперь предлагает атрибуты начинающиеся с символа подчёркивания только в том случае, если этот символ был набран первым. (#9918)
  • Flake8 linting tool has been integrated with SCons reflecting code requirements for Pull Requests. (#5918)
  • NVDA больше не зависит от pyWin32, а такие модули как win32api и win32con больше недоступны для дополнений. (#9639)

    • Вызовы win32api могут быть заменены прямыми вызовами функций dll win32 через ctypes.
    • Константы win32con должны быть определены в вашем коде.

  • Параметр «async» в функции nvwave.playWaveFile был переименован в «asynchronous». (#8607)
  • Экземпляры класса synthDriverHandler.SynthDriver больше не поддерживают методы speakText и speakCharacter.

    • За их функционал теперь отвечает метод speak.

  • Из модуля synthDriverHandler были удалены классы SynthSetting. Вместо них теперь следует использовать классы driverHandler.DriverSetting.
  • Подклассы synthDriverHandler.SynthDriver больше не должны предоставлять индексы читаемых фрагментов текста через свойство lastIndex.

    • Вместо этого они теперь должны уведомлять объект synthDriverHandler.synthIndexReached соответствующим индексом, когда проигрывание всех звуковых данных до этого индекса будет завершено.

  • Подклассы synthDriverHandler.SynthDriver теперь должны уведомлять объект synthDriverHandler.synthDoneSpeaking каждый раз, когда проигрывание всех звуковых данных созданных в результате вызова метода SynthDriver.speak будет завершено.
  • Подклассы synthDriverHandler.SynthDriver в своём методе speak должны соответствующим образом обрабатывать экземпляры speech.PitchCommand, так как изменение высоты голоса при посимвольном чтении теперь зависит от этой поддержки.
  • Функция speech.getSpeechTextForProperties была переименована в speech.getPropertiesSpeech. (#10098)
  • Функция braille.getBrailleTextForProperties была переименована в braille.getPropertiesBraille. (#10469)
  • Следующие функции модуля speech теперь возвращают речевую последовательность. (#10098)

    • getControlFieldSpeech
    • getFormatFieldSpeech
    • getSpeechTextForProperties переименованная в getPropertiesSpeech
    • getIndentationSpeech
    • getTableInfoSpeech

  • Добавлен модуль textUtils, упрощающий работу со строками Python 3 и unicode-строками Windows. (#9545)

    • Для получения примеров использования, обратитесь к документации этого модуля и к модулю textInfos.offsets.

  • Проведена чистка кодовой базы. (#9548)

    • Удалены модули для следующих приложений:

      • Звукозапись для Windows XP.
      • Klango Player (этот проект заброшен).

    • Удалена обёртка configobj.validate.

      • Новый код должен использовать from configobj import validate вместо import validate

    • textInfos.Point и textInfos.Rect заменены на locationHelper.Point и locationHelper.RectLTRB соответственно.
    • braille.BrailleHandler._get_tether и braille.BrailleHandler.set_tether были удалены.
    • Функция config.getConfigDirs была удалена.
    • Функция config.ConfigManager.getConfigValidationParameter была заменена функцией getConfigValidation.
    • Свойство inputCore.InputGesture.logIdentifier было удалено.

      • Используйте вместо этого функцию _get_identifiers из класса inputCore.InputGesture.

    • Методы synthDriverHandler.SynthDriver.speakText/speakCharacter были удалены.
    • Удалены ряд классов synthDriverHandler.SynthSetting.

      • Сохраняемые ранее для обратной совместимости, но теперь признанные полностью устаревшими. (#8214)
      • Драйверы использующие классы SynthSetting должны быть обновлены для использования классов DriverSetting.

    • Удалён некоторый устаревший код, а именно:

      • Поддержка списка сообщений в Outlook 2003.
      • Перекрывающий класс для классического меню «Пуск», доступного только в Windows Vista и более ранних версиях.
      • Поддержка для Skype 7, так как он больше не работает.


  • Реализован фреймворк для создания поставщиков средств зрительной коррекции (vision enhancement providers); модулей, которые могут изменять содержимое экрана, при необходимости основываясь на данных о расположении объектов полученных от NVDA. (#9064)

    • Дополнения NVDA могут иметь таких поставщиков в каталоге visionEnhancementProviders.
    • Для получения информации о подробностях реализации фреймворка и примеров некоторых средств зрительной коррекции, обратитесь к модулям vision и visionEnhancementProviders соответственно.
    • Доступные поставщики зрительной коррекции могут быть активированы и настроены в категории «Зрение» диалога настроек NVDA.

  • Абстрактные свойства класса теперь поддерживаются для объектов наследуемых от baseObject.AutoPropertyObject (например NVDAObjects и TextInfos). (#10102)
  • Добавлена константа displayModel.UNIT_DISPLAYCHUNK определяющая фрагмент текста для экземпляров DisplayModelTextInfo. (#10165)

    • Эта новая константа позволяет обходить текст в DisplayModelTextInfo способом, схожим с тем, как в базовой модели сохраняются части текста.

  • Функция displayModel.getCaretRect теперь возвращает экземпляр locationHelper.RectLTRB. (#10233)
  • Константы UNIT_CONTROLFIELD и UNIT_FORMATFIELD были перемещены из класса virtualBuffers.VirtualBufferTextInfo в пакет textInfos. (#10396)
  • Каждая запись журнала NVDA теперь содержит информацию о сделавшим её потоке. (#10259)
  • Экземпляры TextInfo для UIA-объектов теперь могут расширяться на такие единицы текста как UNIT_PAGE, UNIT_STORY и UNIT_FORMATFIELD. (#10396)
  • Внешние модули (глобальные плагины и модули приложений) теперь с меньшей вероятностью могут помешать созданию экземпляров NVDAObjects.

    • Исключения происходящие в методах «chooseNVDAObjectOverlayClasses» и «event_NVDAObject_init» теперь корректно обрабатываются и логируются.

  • Словарь aria.htmlNodeNameToAriaLandmarkRoles был переименован в aria.htmlNodeNameToAriaRoles. Теперь он также содержит роли не являющиеся ориентирами.
  • Функция scriptHandler.isCurrentScript была удалена по причине неиспользования. (#8677)

Скачать NVDA 2019.3

Скачать программу как и всегда можно на странице загрузки программ экранного доступа.