[TC] Альтернативный вывод информации для пользователей NVDA
Приветствую TC,
Иногда разработчики софта утверждают, что реализовали некий
альтернативный от Jaws, предназначенный специально для NVDA, метод
вывода информации. И Кидают в папку со своей программой файл
NVDAControllerClient.DLL. Я нашел соответствующие примеры, как добавить
и использовать упомянутую библиотеку, но не могу понять, в каких случаях
она нужна? Иными словами, какие контролы, скажем, в той же VisualStudio
не берет NVDA без использования дополнительных библиотек. Расскажите,
кто в курсе дел.
Здравствуйте, Александр.
Аналогичные варианты есть и для JAWS, и ещё для некоторых других программ экранного доступа, поэтому если уж такое и делать, то в более универсальной реализации, а не для одной единственной программы.
Теоретически, конечно, можно использовать этот вариант для повышения доступности изначально плохо доступных контролов, например, отслеживая попадание на них фокуса и отправляя в этот момент какие-то сообщения, но всё-таки оно не для этого.
Эта библиотека и её аналоги для других программ просто обеспечивают возможность заставить программу экранного доступа что-то произнести и/или вывести на брайлевский дисплей.
Это может быть нужно, когда вам в интерфейсе надо быстро до незрячего пользователя донести какую-то информацию, например, вне фокуса появились данные, которые пользователю точно надо получить сразу. Вот именно этот текст можно не просто вывести в интерфейс, но ещё и сразу произнести через программу экранного доступа. Ну или в текстовом редакторе по горячей клавише меняется начертание текста, и тут тоже можно это озвучить через подобное решение, чтобы не реализовывать это для каждой программы на уровне скриптов/плагинов.
Однако тут важно не переусердствовать. Слать в программу экранного доступа перебивающие её речь сообщения стоит только тогда, когда вы точно уверены, что пользователю это нужно и именно в этот момент. Да и всё равно стоит делать настройку, отключающую подобные функции.
Что касается вариантов для более универсальной реализации подобной функциональности, то могу посоветовать посмотреть на библиотеку Tolk - https://github.com/dkager/tolk
Это агрегация в одном интерфейсе подобных решений для нескольких программ экранного доступа, в том числе и NVDA с JAWS.
Однако если смотреть на каждую программу экранного доступа, то там API для взаимодействия может быть местами более функциональным, например, у JAWS можно через com-интерфейс выполнить скрипт или функцию, которые есть у него в jsb-файлах.
Успехов. Никита.