Экранный диктор — это форма вспомогательной технологии ( AT ) [1] , которая отображает текст и изображение в виде речи или шрифта Брайля. Экранные дикторы необходимы для слепых людей [ 2 ] и полезны для людей с нарушениями зрения [ 2 ] неграмотных или с трудностями в обучении [3] . Экранные дикторы — это программные приложения , которые пытаются передать то, что люди с нормальным зрением видят на дисплее , своим пользователям с помощью невизуальных средств, таких как преобразование текста в речь [4] , звуковые значки [5] или устройство Брайля [2] . Они делают это, применяя широкий спектр методов, которые включают, например, взаимодействие со специальными API-интерфейсами доступности, использование различных функций операционной системы (таких как межпроцессное взаимодействие и запрос свойств пользовательского интерфейса ) и применение методов перехвата . [6]
Операционные системы Microsoft Windows включают в себя экранный диктор Microsoft Narrator с Windows 2000 , хотя отдельные продукты, такие как коммерчески доступные экранный диктор JAWS и экранная лупа ZoomText от Freedom Scientific , а также бесплатный и открытый исходный код экранного диктора NVDA от NV Access, более популярны для этой операционной системы. [7] MacOS , iOS и tvOS от Apple Inc. включают VoiceOver в качестве встроенного экранного диктора, в то время как Android от Google предоставляет экранный диктор Talkback , а его ChromeOS может использовать ChromeVox. [8] Аналогичным образом, устройства на базе Android от Amazon предоставляют экранный диктор VoiceView. Существуют также бесплатные и открытые исходные коды экранных дикторов для Linux и Unix-подобных систем, такие как Speakup и Orca .
Около 1978 года Эл Оверби из IBM Raleigh разработал прототип говорящего терминала, известного как SAID (Synthetic Audio Interface Driver), для терминала IBM 3270. [9] SAID считывал значения ASCII дисплея в потоке и произносил их через большой синтезатор голосовых дорожек размером с чемодан, и это стоило около 10 000 долларов. [10] Доктор Джесси Райт, слепой исследователь-математик, и Джим Тэтчер , бывший его аспирант из Мичиганского университета, работавший математиками в IBM, адаптировали это как внутренний инструмент IBM для использования слепыми людьми. После того, как в 1981 году был выпущен первый персональный компьютер IBM (ПК) , Тэтчер и Райт разработали программное обеспечение, эквивалентное SAID, под названием PC-SAID, или драйвер персонального компьютера Synthetic Audio Interface . Он был переименован и выпущен в 1984 году как IBM Screen Reader, который стал фирменным эпонимом для этого общего класса вспомогательных технологий. [10]
В ранних операционных системах , таких как MS-DOS , которые использовали интерфейсы командной строки ( CLI ), экранное отображение состояло из символов, отображаемых непосредственно в буфер экрана в памяти , и позиции курсора . Ввод осуществлялся с клавиатуры. Таким образом, вся эта информация могла быть получена из системы либо путем перехвата потока информации вокруг системы и считывания буфера экрана, либо с помощью стандартного аппаратного выходного сокета [11] и передачи результатов пользователю.
В 1980-х годах Исследовательский центр по образованию лиц с нарушениями зрения ( RCEVH ) при Университете Бирмингема разработал программу чтения с экрана для BBC Micro и NEC Portable. [12] [13]
С появлением графических пользовательских интерфейсов ( GUI ) ситуация усложнилась. GUI имеет символы и графику, нарисованные на экране в определенных позициях, и поэтому нет чисто текстового представления графического содержимого дисплея. Поэтому программы чтения с экрана были вынуждены использовать новые низкоуровневые методы, собирая сообщения от операционной системы и используя их для построения «внеэкранной модели», представления дисплея, в котором хранится требуемое текстовое содержимое. [14]
Например, операционная система может отправлять сообщения для рисования кнопки управления и ее подписи. Эти сообщения перехватываются и используются для построения внеэкранной модели. Пользователь может переключаться между элементами управления (например, кнопками), доступными на экране, а подписи и содержимое элементов управления будут прочитаны вслух и/или показаны на обновляемом дисплее Брайля .
Программы чтения с экрана также могут передавать информацию о меню, элементах управления и других визуальных конструкциях, чтобы позволить слепым пользователям взаимодействовать с этими конструкциями. Однако поддержание модели за пределами экрана является значительной технической проблемой; перехват низкоуровневых сообщений и поддержание точной модели являются сложными задачами. [ необходима цитата ]
Разработчики операционных систем и приложений пытались решить эти проблемы, предоставляя средствам чтения с экрана способы доступа к содержимому дисплея без необходимости поддерживать модель вне экрана. Они включают предоставление альтернативных и доступных представлений того, что отображается на экране, доступ к которому осуществляется через API . Существующие API включают:
Программы чтения с экрана могут запрашивать у операционной системы или приложения информацию о том, что в данный момент отображается, и получать обновления при изменении отображения. Например, программе чтения с экрана можно сообщить, что текущий фокус находится на кнопке, а заголовок кнопки должен быть передан пользователю. Этот подход значительно проще для разработчиков программ чтения с экрана, но не работает, когда приложения не соответствуют API доступности : например, Microsoft Word не соответствует API MSAA , поэтому программы чтения с экрана должны по-прежнему поддерживать модель за пределами экрана для Word или искать другой способ доступа к его содержимому. [ необходима цитата ] Один из подходов заключается в использовании доступных сообщений операционной системы и объектных моделей приложений для дополнения API доступности .
Можно предположить, что экранные ридеры могут получить доступ ко всему отображаемому контенту, который не является внутренне недоступным. Веб-браузеры, текстовые процессоры, значки и окна, а также программы электронной почты — это лишь некоторые из приложений, которые успешно используются пользователями экранных ридеров. Однако, по словам некоторых пользователей, [ who? ] использование экранного ридера значительно сложнее, чем использование графического интерфейса, и многие приложения имеют определенные проблемы, возникающие из-за характера приложения (например, анимация) или несоответствия стандартам доступности для платформы (например, Microsoft Word и Active Accessibility). [ необходима цитата ]
Некоторые программы и приложения имеют встроенную технологию озвучивания наряду с их основной функциональностью. Такие программы называются самоозвучивающими и могут быть формой вспомогательной технологии, если они разработаны для устранения необходимости использования экранного диктора. [ необходима цитата ]
Некоторые телефонные сервисы позволяют пользователям взаимодействовать с Интернетом удаленно. Например, TeleTender может читать веб-страницы по телефону и не требует специальных программ или устройств на стороне пользователя. [ необходима цитата ]
Виртуальные помощники иногда могут читать вслух письменные документы (текстовый веб-контент, PDF- документы, электронные письма и т. д.). Наиболее известными примерами являются Siri от Apple , Google Assistant и Amazon Alexa .
Относительно новой разработкой в этой области являются веб-приложения, такие как Spoken-Web, которые действуют как веб-порталы, управляя контентом, таким как обновления новостей, погода, научные и деловые статьи для слабовидящих или слепых пользователей компьютеров. [ необходима цитата ] Другими примерами являются ReadSpeaker или BrowseAloud , которые добавляют функциональность преобразования текста в речь к веб-контенту. [ необходима цитата ] Основная аудитория таких приложений — это те, кто испытывает трудности с чтением из-за проблем с обучением или языковых барьеров. [ необходима цитата ] Хотя функциональность остается ограниченной по сравнению с эквивалентными настольными приложениями, основным преимуществом является повышение доступности указанных веб-сайтов при просмотре на общедоступных компьютерах, где у пользователей нет разрешения на установку специального программного обеспечения, что дает людям большую «свободу перемещения». [ необходима цитата ]
Эта функциональность зависит от качества программного обеспечения, а также от логической структуры текста. Использование заголовков, пунктуации, наличие альтернативных атрибутов для изображений и т. д. имеет решающее значение для хорошей вокализации. Также веб-сайт может иметь приятный вид из-за использования соответствующего двухмерного позиционирования с CSS, но его стандартная линеаризация, например, путем подавления любого CSS и Javascript в браузере, может быть непонятной. [ необходима цитата ]
Большинство экранных ридеров позволяют пользователю выбирать, будут ли большинство знаков препинания объявляться или молча игнорироваться. Некоторые экранные ридеры можно настроить под конкретное приложение с помощью скриптов . Одним из преимуществ скриптов является то, что они позволяют пользователям обмениваться настройками, что повышает доступность для всех. Например, JAWS пользуется активным сообществом по обмену скриптами. [ необходима цитата ]
Многословность — это функция программного обеспечения для чтения с экрана, которая поддерживает пользователей компьютеров с нарушениями зрения. Элементы управления многословностью речи позволяют пользователям выбирать, сколько речевой обратной связи они хотят слышать. В частности, настройки многословности позволяют пользователям создавать ментальную модель веб-страниц, отображаемых на экране их компьютера. На основе настроек многословности программа чтения с экрана информирует пользователей об определенных изменениях форматирования, например, когда начинается и заканчивается рамка или таблица, где в текст вставлена графика или когда в документе появляется список. Настройки многословности также могут контролировать уровень описательности элементов, таких как списки, таблицы и регионы. [18] Например, JAWS предоставляет предустановленные уровни малословности веб-страниц. Высокий уровень многословности веб-страниц обеспечивает более подробную информацию о содержимом веб-страницы. [19]
Некоторые программы чтения с экрана могут читать текст на нескольких языках , при условии, что язык материала закодирован в его метаданных . [20]
Программы чтения с экрана, такие как JAWS , NVDA и VoiceOver , также включают языковую вербовость, которая автоматически определяет настройки вербовости, связанные с языком вывода речи. Например, если пользователь перешел на веб-сайт, расположенный в Великобритании, текст будет прочитан с английским акцентом . [ необходима цитата ]