ПК для незрячих: опыт, проблемы, перспективы
Михаил Пожидаев
Информационные технологии становятся все более популярными и массовыми, однако по-прежнему актуальными остаются проблемы, связанные с их доступностью для людей с различными функциональными ограничениями. Важную роль играет адаптация ПК для работы людей с полной или частичной потерей зрения. В настоящее время незрячими пользователями накоплен достаточно большой опыт применения настольных систем и ноутбуков. Созданные инструменты позволяют организовать работу в случаях, когда человеку недоступна визуальная информация на мониторе.
Люди с частичной потерей зрения могут использовать различные средства увеличения изображения на экране. Среди возможностей, которыми обладают современные графические среды, есть функция выбора крупного и контрастного шрифта на экране и так называемые "экранные лупы" -- специальные приложения для увеличения определенной части изображения на мониторе. Например, такие инструменты входят в стандартный комплект поставки Microsoft Windows.
Более сложную проблему представляет собой организация работы человека с полной потерей зрения. Ее решением занимаются несколько коммерческих компаний, предлагающих серию различных средств. Причем особое внимание уделяется реализации такой работы незрячего пользователя, которая была бы максимально приближена к той, что обеспечивается применением обычных визуальных средств получения информации. А поскольку человек с ограниченными возможностями, сидящий за ПК, не должен уставать, то важным требованием к подобным системам будет определение круга доступных для выполнения задач и скорости работы на компьютере. Следует учитывать приведенные выше условия при решении вопросов трудоустройства и образования, так как в этих сферах необходимо соблюдать темп работы команды.
Чтобы организовать рабочую среду для незрячего пользователя, прежде всего нужно подготовить альтернативные пути передачи информации, получаемой с монитора. Сейчас для этого применяются речевые синтезаторы и специальные брайлевские дисплеи и принтеры. Такой дисплей, или строка, -- это настольное устройство, способное воспроизвести шрифтом Брайля строку символов, полученную от компьютера. Как правило, они выводят 40 или 80 символов одновременно. Пользователь читает их, перемещая руки вдоль строки.
>>> рис
Работа с брайлевским дисплеем
Брайлевский принтер функционально похож на обычный, но печать ведется рельефным шрифтом Брайля. Эта техника очень удобна при длительной работе по редактированию и обработке текста, но из-за ее высокой стоимости на практике обычно пользуются речевыми синтезаторами, выпускающимися как в аппаратном, так и в программном исполнении. В России, как правило, применяются программные, а аппаратные не распространены. Программный речевой синтезатор -- это специальный пакет, принимающий строку текста для обработки и затем генерирующий звуковой сигнал, который воспринимается на слух как человеческая речь и по которому можно восстановить полученный текст. Синтезаторы ведут обработку с учетом параметров,требующихся пользователю, включая высоту голоса и скорость произношения. Они очень важны, поскольку повышенной интонацией иногда выделяются заглавные буквы и прочие элементы текста, которые человек должен различать. Для России речевые синтезаторы предлагают компании «Сакрамент», Digalo, Nuance(ScanSoft), Lernout&Hauspie, клуб голосовых технологий МГУ и др.
Речевой синтезатор применяется только на последнем этапе подготовки информации для озвучивания. Сбор и обработка данных для передачи пользователю -- отдельное решение, частично реализованное в операционной системе, частично -- в дополнительных прикладных программных пакетах, устанавливающихся на компьютер. В настоящее время функция обработки данных для незрячих пользователей -- неотъемлемый компонент операционной системы. Он осуществляет сбор информации о состоянии пользовательского интерфейса в приложениях и оповещает о его изменении. В Microsoft Windows эти возможности реализованы в пакете Active Accessibility (MSAA).
MSAA 2.0, входящий как в Windows XP, так и в Windows Server 2003, представляет собой серию СОМ-компонентов, с помощью которых разработчики могут реализовать доступ к приложениям для незрячих пользователей. В GNU/Linux централизованный сбор информации выполняет компонент Assistive Technology Service Provider Interface (AT-SPI), являющийся частью GNOME Accessibility Project. Он производит регистрацию необходимых событий, применяя Corba как средство межпроцессного взаимодействия. Однако уже сейчас создана отладочная версия AT-SPI, где Corba заменен на механизм D-Bus.
В операционных системах имеется и среда для взаимодействия с синтезаторами речи. Главная задача подобных библиотек -- создать унифицированный интерфейс для программирования речевого вывода и облегчить установку новых синтезаторов, не переписывая подготовленную реализацию. Microsoft предлагает для решения этой задачи Microsoft Speech API. В GNU/Linux есть пакеты gnome-speech и kttsd, включенные в состав оконных менеджеров GNOME и KDE, а также Speech Dispatcher, разработанный Free(b)soft Laboratory.
Кроме того, что имеется поддержка со стороны операционной системы, на компьютере должна быть установлена программа-чтец, взаимодействующая с ОС и речевыми синтезаторами и предоставляющая пользователю различные инструменты конфигурирования. Именно она и создает законченную среду для работы. В составе Microsoft Windows XP содержится приложение Narrator, обеспечивающее базовую функциональность.
В России наибольшее распространение получил очень гибкий инструмент Jaws for Windows, разработанный компанией Freedom Scientific. Он обладает большим количеством функций. Помимо стандартных средств от операционной системы Jaws for Windows имеет собственный механизм получения информации о состоянии пользовательского интерфейса -- видеоперехватчик (Jaws Video Intercept). В GNU/Linux употребляется программа Orca, разработка которой ведется в рамках GNOME Accessibility Project. Продукты Jaws for Windows и Orca дают возможность пользователю установить свои личные предпочтения и настройки. При правильной установке озвучивание действий пользователя включается сразу после запуска этих приложений. Их автоматическая загрузка при старте операционной системы позволяет незрячему пользователю начать самостоятельный сеанс работы сразу после включения компьютера.
>>> рис
Экранный чтец <название>
Когда приложение-чтец запущено, выполняется описание объекта в фокусе ввода. Прежде всего произносится название типа объекта -- кнопка, текстовое поле, флажок и т. д. Затем читается, каково его состояние. Если это было текстовое поле, то прочитывается текст в нем, если флажок -- говорится, установлен он или нет. Некоторые версии программ содержат дополнительные подсказки пользователю с напоминанием о возможных операциях с текущим объектом. Информация прочитывается каждый раз, когда объект изменяет свое состояние или фокус переходит к другому объекту.
При редактировании текста команды перемещения курсора снабжаются речевым выводом. При движении вправо или влево прочитывается буква справа от курсора, а при движении вверх или вниз -- строка, на которой стоит курсор. Пользователь слышит обозначения нажимаемых клавиш и в отдельных случаях последнее слово, введенное при нажатии на пробел.
Во время работы в Интернете веб-страница прочитывается целиком при открытии. Кстати, пользователь может исследовать ее содержимое более детально. Страница разбивается на части — на параграфы, таблицы, заголовки, и программа прочитывает каждую новую часть при нажатии клавиши со стрелкой вниз. Нажимая клавиши "вправо" или "влево", можно исследовать текст по буквам. Отдельно выделяются ссылки, и пользователь может по ним проследовать, выбрав нужную.
При работе в оконном интерфейсе бывают случаи, когда необходимая информация находится в окне, но фокус ввода никогда на ней не останавливается. Пример такой ситуации в Microsoft Windows -- информация о свободном месте на диске представлена в окне свойств раздела. Для решения подобной проблемы разработчики программ-чтецов добавляют функцию исследования содержимого окна без привязки к фокусу ввода. Клавиши со стрелками перемещают указатель по экрану, и после каждого изменения положения прочитывается текст непосредственно под курсором. Это очень удобная функция, поскольку остается возможность выполнить команду, имитирующую нажатие кнопки мыши на объекте под курсором. Таким образом, пользователю становятся доступными объекты, имеющие очень сложное расположение.
Разработчики программ-чтецов дополняют свои пакеты возможностью написания сценариев, упрощающих работу пользователя. В подобных сценариях содержится информация об интерфейсе конкретных приложений, что позволяет снабдить речевой вывод дополнительными комментариями и облегчить манипуляции пользователя.
Серьезную проблему составляет совместимость различных приложений с accessibility-функциями. Грамотный разработчик должен помнить о ней и избегать в своей работе решений, несовместимых с работой приложений-чтецов. Во многом это относится к программам, имеющим собственные или нестандартные библиотеки оконного интерфейса. Разработчики крупных сторонних библиотек для построения оконного интерфейса, таких как QT или Java Swing, отдельно предусматривают возможность реализации accessibility-функций. В частности, QT имеет собственную реализацию механизмов, позволяющих организовать речевой вывод с последующей возможностью передачи информации в MSAA.
Описанные программы составляют базовый инструментарий, который незрячие люди могут использовать в своей работе на персональном компьютере. Кроме того, существует большое количество дополнительных утилит, облегчающих решение различных задач, и опыт многих людей подтверждает доступность вычислительной техники для незрячих пользователей.