--- description: 'Вспомогательные технологии при слепоте' next: books/accessibility/development params: path: /books/accessibility/blindness/ part: 'Часть II. Зрение' prev: books/accessibility/lowvision showBookMenu: 'true' tags: ["Accessibility", "Blindness", "Screen Reader"] title: 'Глава 5. Слепота' weight: 8 --- [[blindness]] = Слепота :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :sectnumoffset: 5 :partnums: :source-highlighter: rouge :experimental: :images-path: books/accessibility/blindness/ ifdef::env-beastie[] ifdef::backend-html5[] :imagesdir: ../../../../images/{images-path} endif::[] ifndef::book[] include::shared/authors.adoc[] include::shared/mirrors.adoc[] include::shared/releases.adoc[] include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists.adoc[] include::shared/{{% lang %}}/urls.adoc[] toc::[] endif::[] ifdef::backend-pdf,backend-epub3[] include::../../../../../shared/asciidoctor.adoc[] endif::[] endif::[] ifndef::env-beastie[] toc::[] include::../../../../../shared/asciidoctor.adoc[] endif::[] [[blindness-intro]] == Введение Эта глава описывает вспомогательные технологии для пользователей с нарушениями зрения, уделяя основное внимание экранным читалкам и инструментам, предназначенным для работы совместно с ними. Глава сознательно не содержит изображений и стремится свести к минимуму использование элементов, отличных от простого текста. [[screen-reader]] == Экранная читалка В настоящее время экранные читалки работают только в рамках extref:{handbook}x11[системы X Window] и не поддерживаются в crossref:virtual-terminal[virtual-terminal,виртуальном терминале]. FreeBSD в настоящее время не поддерживает брайлевские дисплеи, поэтому экранные читалки используют исключительно синтезаторы речи. [[orca]] === Orca Orca — это широко используемая и хорошо известная экранная читалка с открытым исходным кодом. Она предлагает комплексный набор функций и доступна в FreeBSD через пакет package:accessibility/orca[]. [[orca-install]] ==== Установка Для установки выполните: [source, shell] .... # pkg install orca .... [[orca-launch]] ==== Запуск Orca можно запустить несколькими способами. Из терминала введите: [source, shell] .... % orca .... Некоторые графические среды рабочего стола (extref:{handbook}desktop/#kde-environment[KDE Plasma], extref:{handbook}desktop/#xfce-environment[XFCE], extref:{handbook}desktop/#gnome-environment[GNOME]) предоставляют сочетание клавиш для запуска Orca: `Super` + `Alt` + `s`. [TIP] ==== Клавиша Super обычно обозначена значком Windows, значком Command или надписью "Super". Для получения дополнительной информации обратитесь к https://en.wikipedia.org/wiki/Super_key_(keyboard_button). ==== [[orca-usage]] ==== Использование Orca предоставляет справочную страницу: man:orca[1]. Однако большая часть документации доступна в сети. Основным источником является отправная точка в https://gnome.pages.gitlab.gnome.org/orca/help/[Руководстве пользователя Orca], которая включает: - В начале - Чтение документов и веб-страниц - Просмотр и взаимодействие с содержимым экрана Экранная читалка включает множество клавиатурных команд для навигации и взаимодействия. Полный список команд доступен на странице https://gnome.pages.gitlab.gnome.org/orca/help/commands.html[Команды Orca]. [[orca-config]] ==== Конфигурация Orca можно настроить через графический интерфейс настроек. Чтобы открыть его, выполните: [source, shell] .... % orca -s .... Параметры конфигурации описаны на странице https://gnome.pages.gitlab.gnome.org/orca/help/preferences.html[Диалоговые окна настроек Orca]. [[yasr]] === yasr Утилита package:accessibility/yasr[] — это легковесный экранная читалка, работающая исключительно в терминальной среде. Для работы Yasr требуется синтезатор речи. Его конфигурационный файл по умолчанию настроен на использование package:accessibility/eflite[]. Для установки как yasr, так и eflite, выполните: [source, shell] .... # pkg install yasr eflite .... Для запуска экранной читалки выполните: [source, shell] .... % yasr .... Глобальный файл конфигурации для yasr находится по адресу [.filename]#/usr/local/share/yasr/yasr.conf#. Чтобы создать пользовательский файл конфигурации, скопируйте глобальный файл в свой домашний каталог: [source, shell] .... % cp /usr/local/share/yasr/yasr.conf ~/.yasr.conf .... Для получения подробной информации о параметрах конфигурации и сочетаниях клавиш обратитесь к man:yasr[1]. [[speech-synthesizer]] == Синтезатор речи Цель речевого синтезатора — обеспечить аудиовыход для экранных читалок, преобразуя текст на экране в речь. В этом разделе объясняется, как установить речевые синтезаторы, выполнить базовую проверку функциональности и найти их документацию для дальнейшей настройки. [NOTE] ==== Информация о подсистеме звука FreeBSD доступна в extref:{handbook}multimedia[Мультимедиа] и на справочной странице man:sound[4]. ==== [[espeak-ng]] === eSpeak NG Пакет package:audio/espeak-ng[] предоставляет man:espeak-ng[1], многоязычный синтезатор речи. Для установки выполните: [source, shell] .... # pkg install espeak-ng .... Для проверки выполните следующую команду: [source, shell] .... % espeak-ng "Hello World, FreeBSD!" .... eSpeak NG — это универсальная и многофункциональная утилита. Для получения дополнительной информации обратитесь к её справочной странице man:espeak-ng[1] и https://github.com/espeak-ng/espeak-ng/blob/master/docs/index.md[официальной онлайн-документации]. [[flite]] === Flite Пакет package:audio/flite[] — это синтезатор речи, входящий в проект http://festvox.org[FestVox]. Он создан как компактная и быстрая альтернатива crossref:blindness[festival, Festival], построенная с использованием набора инструментов FestVox. Для установки выполните: [source, shell] .... # pkg install flite .... Для проверки выполните следующие команды: [source, shell] .... % flite "Hello world, BSD!" % flite_time 10:30 The time is now, exactly half past ten, in the morning. .... Проект не предоставляет страницу руководства. Документация доступна в [.filename]#/usr/local/share/doc/flite/README.md# и http://www.festvox.org/flite/doc/index.html[онлайн]. [[festival]] === Festival Пакет package:audio/festival[] предоставляет man:festival[1], многоязычный синтезатор речи. Для установки выполните: [source, shell] .... # pkg install festival .... Festival требует как минимум один пакет festvox-_голос_ для генерации синтетического голоса. Выполните следующую команду для вывода списка доступных голосовых пакетов: [source, shell] .... % pkg search festvox .... Затем установите голосовой пакет. Например, чтобы установить мужской голос американского английского festvox-kal16-1.4.0, выполните: [source, shell] .... # pkg install festvox-kal16 .... Для проверки выполните: [source, shell] .... % echo "Hello world, BSD!" | festival --tts .... [TIP] ==== В случае ошибки `Can't access NAS server`, пример: [source, shell] .... % echo "Hello world, BSD!" | festival --tts Can't access NAS server % .... Добавьте следующую строку в [.filename]#/usr/local/share/festival/lib/siteinit.scm#: [.programlisting] .... (Parameter.set 'Audio_Method 'freebsd16audio) .... ==== Для получения дополнительной информации о Festival обратитесь к его справочной странице man:festival[1] и к http://www.festvox.org/docs/manual-2.4.0/festival_toc.html[официальной онлайн-документации]. [[speech-dispatcher]] === Speech Dispatcher Проект Speech Dispatcher предоставляет высокоуровневый независимый от устройства слой для доступа к синтезу речи. Для установки пакета:accessibility/speech-dispatcher[], выполните: [source, shell] .... # pkg install speech-dispatcher .... Для проверки выполните: [source, shell] .... % spd-say "Hello world, FreeBSD!" .... Speech Dispatcher предоставляет две страницы руководства: man:spd-say[1] и man:speech-dispatcher[1], а также https://freebsoft.org/speechd[онлайн-документацию]. [TIP] ==== Пакет package:audio/festival-freebsoft-utils[] предоставляет дополнительные возможности для crossref:blindness[festival,Festival] для взаимодействия с Speech Dispatcher. Для получения дополнительной информации обратитесь к https://freebsoft.org/festival-freebsoft-utils[онлайн документации]. ==== [[blindness-ports]] == Коллекция портов FreeBSD предоставляет extref:{handbook}ports[Коллекцию портов], которая предлагает простой способ установки приложений. Некоторые порты позволяют настраивать параметры перед сборкой и установкой. По умолчанию конфигурация осуществляется через TUI-меню, недоступное для экранной читалки. Утилита package:ports-mgmt/portoptscli[] — это исключительно текстовый инструмент, специально созданный для настройки портов с использованием экранной читалки. Для её установки выполните: [source, shell] .... # pkg install portoptscli .... Затем добавьте в [.filename]#/etc/make.conf#: [.programlisting] .... DIALOG4PORTS=/usr/local/bin/portoptscli .... С этого момента фреймворк Ports будет автоматически вызывать portoptscli всякий раз, когда порт предлагает настраиваемые опции. Для получения подробной информации о его возможностях и использовании обратитесь к справочной странице man:portoptscli[1] и ознакомьтесь с онлайн-документацией https://gitlab.com/alfix/portoptscli/-/raw/main/README.txt[README]. [[blindness-editor]] == Редактор [[ed]] === ed Утилита man:ed[1] представляет собой построчный текстовый редактор для создания, просмотра и изменения текстовых файлов. Она включена по умолчанию в стандартную установку FreeBSD. Для запуска редактора выполните: [source, shell] .... % ed .... ed — это мощный редактор. Для полного обзора его возможностей и синтаксиса команд обратитесь к справочной странице man:ed[1]. [WARNING] ==== ed не поддерживает многобайтовые символы и может некорректно обрабатывать текст, отличный от ASCII. В качестве альтернативы рассмотрите использование crossref:blindness[edbrowse,edbrowse], который предлагает надежные функции редактирования текста в дополнение к своим возможностям просмотра. ==== [[blindness-internet-web]] == Интернет и web [[edbrowse]] === Edbrowse Edbrowse — это текстовый браузер, редактор, IRC-клиент и почтовый клиент, специально разработанный для пользователей экранных читалок. Его интерфейс похож на man:ed[1], но с расширенной функциональностью. [[edbrowse-install]] ==== Установка Для установки пакета package:www/edbrowse[] выполните: [source, shell] .... # pkg install edbrowse .... [[edbrowse-usage]] ==== Использование Для запуска Edbrowse выполните: [source, shell] .... % edbrowse .... При первом запуске edbrowse он не найдет файл конфигурации [.filename]#~/.ebrc#. Он автоматически создаст файл конфигурации по умолчанию, отобразит сообщение и завершит работу: [source, shell] .... % edbrowse Your edbrowse config file is missing; a default file has been created for you. Before running edbrowse again, take the time to personalize your config file: /home/yournickname/.ebrc edbrowse -c to edit % .... Теперь вы можете перезапустить Edbrowse; он будет использовать конфигурационный файл по умолчанию. Для его настройки выполните: [source, shell] .... % edbrowse -c .... Или используйте ваш предпочитаемый текстовый редактор, например: [source, shell] .... % ed ~/.ebrc .... [TIP] ==== Примеры конфигурационных файлов находятся в [.filename]#/usr/local/share/doc/edbrowse/#. В их число входят: - sample.ebrc: с комментариями на английском языке - sample_fr.ebrc: с комментариями на французском языке - sample_it.ebrc: с комментариями на итальянском языке ==== [[edbrowse-doc]] ==== Documentation Утилита предоставляет справочную страницу: man:edbrowse[1]. Однако основная документация доступна в сети в https://edbrowse.org/usersguide.html[Руководстве пользователя]. Пакет также устанавливает локальную копию документации в [.filename]#/usr/local/share/doc/edbrowse/usersguide.html#. Для просмотра с помощью edbrowse выполните: [source, shell] .... % edbrowse /usr/local/share/doc/edbrowse/usersguide.html .... Переведенные версии руководства пользователя доступны в том же каталоге: - usersguide_es.html: Испанский - usersguide_fr.html: Французский - usersguide_pt_br.html: Бразильский португальский [[blindness-webapps]] === Веб-приложения Некоторые веб-приложения могут использовать API для вывода звука на аудиоустройства. Обратитесь к crossref:blindness[speech-synthesizer,Синтезатор речи] для установки утилиты и соответствующей библиотеки. Браузер extref:{handbook}desktop/#firefox[Firefox] может сообщать об ошибке: `You can’t use speech synthesis because the Speech Dispatcher library is missing` (Невозможно использовать синтез речи, поскольку отсутствует библиотека Speech Dispatcher) или https://support.mozilla.org/en-US/kb/speechd-setup[другие ошибки]. Для решения установите crossref:blindness[speech-dispatcher,Speech Dispatcher]. [[blindness-liblouis]] == Liblouis Пакет package:devel/liblouis[] — это переводчик для множества языков в шрифт Брайля и обратно. Он предоставляет большое количество таблиц преобразования. Для установки выполните: [source, shell] .... # pkg install liblouis .... Пакет устанавливает как библиотеки, так и утилиты. Утилита перевода — это man:lou_translate[1]. Следующий пример демонстрирует, как транскрибировать текст `FreeBSD Accessibility Handbook` в шрифт Брайля с использованием таблицы перевода английского языка 2-го уровня и таблицы отображения unicode.dis. Итоговый вывод представляет собой шрифт Брайля, закодированный в виде юникодных точечных паттернов. [source, shell] .... % echo "FreeBSD Accessibility Handbook" | lou_translate -f unicode.dis,en-us-g2.ctb ⠠⠋⠗⠑⠑⠠⠠⠃⠎⠙⠀⠠⠁⠒⠑⠎⠎⠊⠃⠊⠇⠰⠽⠀⠠⠓⠯⠃⠕⠕⠅ .... Документация и дополнительные примеры для этой утилиты доступны на сайте проекта, в частности, в разделе https://liblouis.io/documentation/liblouis.html#Testing-Translation-Tables-interactively[Интерактивное тестирование таблиц перевода] официальной документации.