---
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[Интерактивное тестирование таблиц перевода] официальной документации.
