Chapter 11. Configuring a System for Accessibility
Accessibility in Red Hat Enterprise Linux 7 is ensured by the Orca screen reader, which is included in the default installation of the operating system. This chapter explains how a system administrator can configure a system to support users with a visual impairment.
Orca reads information from the screen and communicates it to the user using:
- a speech synthesizer, which provides a speech output
- a braille display, which provides a tactile output
For more information on Orca settings, see its help page.
In order that Orca's communication outputs function properly, the system administrator needs to:
-
configure the
brltty
service, as described in Section 11.1, “Configuring thebrltty
Service” -
switch on the
Always Show Universal Access Menu
, as described in Section 11.2, “Switch OnAlways Show Universal Access Menu
” - enable the Festival speech synthesizer, as described in Section 11.3, “Enabling the Festival Speech Synthesis System”
11.1. Configuring the brltty
Service
The Braille display uses the brltty
service to provide tactile output for visually impaired users.
Enable the brltty Service
The braille display cannot work unless brltty
is running. By default, brltty
is disabled. Enable brltty
to be started on boot:
~]# systemctl enable brltty.service
Authorize Users to Use the Braille Display
To set the users who are authorized to use the braille display, choose one of the following procedures, which have an equal effect. The procedure using the /etc/brltty.conf
file is suitable even for the file systems where users or groups cannot be assigned to a file. The procedure using the /etc/brlapi.key
file is suitable only for the file systems where users or groups can be assigned to a file.
Setting Access to Braille Display by Using /etc/brltty.conf
-
Open the
/etc/brltty.conf
file, and find the section called Application Programming Interface Parameters. Specify the users.
To specify one or more individual users, list the users on the following line:
api-parameters Auth=user:
user_1, user_2, ...
# Allow some local userTo specify a user group, enter its name on the following line:
api-parameters Auth=group:
group
# Allow some local group
Setting Access to Braille Display by Using /etc/brlapi.key
Create the
/etc/brlapi.key
file.~]# mcookie > /etc/brlapi.key
Change ownership of the
/etc/brlapi.key
to particular user or group.To specify an individual user:
~]# chown user_1 /etc/brlapi.key
To specify a group:
~]# chown group_1 /etc/brlapi.key
Adjust the content of
/etc/brltty.conf
to include this:api-parameters Auth=keyfile:
/etc/brlapi.key
Set the Braille Driver
The braille-driver
directive in /etc/brltty.conf
specifies a two-letter driver identification code of the driver for the braille display.
Setting the Braille Driver
Decide whether you want to use the autodetection for finding the appropriate braille driver.
If you want to use autodetection, leave
braille driver
specified toauto
, which is the default option.braille-driver
auto
# autodetectWarningAutodetection tries all drivers. Therefore, it might take a long time or even fail. For this reason, setting up a particular braille driver is recommended.
If you do not want to use the autodetection, specify the identification code of the required braille driver in the
braille-driver
directive.Choose the identification code of required braille driver from the list provided in
/etc/brltty.conf
, for example:braille-driver
xw
# XWindowYou can also set multiple drivers, separated by commas, and autodetection is then performed among them.
Set the Braille Device
The braille-device
directive in /etc/brltty.conf
specifies the device to which the braille display is connected. The following device types are supported (see Table 11.1, “Braille Device Types and the Corresponding Syntax”):
Braille Device Type | Syntax of the Type |
---|---|
serial device | serial:path [a] |
USB device | [serial-number] [b] |
Bluetooth device | bluetooth:address |
[a]
Relative paths are at /dev .
[b]
The brackets here indicate optionality.
|
Examples of settings for particular devices:
braille-deviceserial:ttyS0
# First serial device braille-deviceusb:
# First USB device matching braille driver braille-deviceusb:nnnnn
# Specific USB device by serial number braille-devicebluetooth:xx:xx:xx:xx:xx:xx
# Specific Bluetooth device by address
You can also set multiple devices, separated by commas, and each of them will be probed in turn.
If the device is connected by a serial-to-USB adapter, setting braille-device
to usb:
does not work. In this case, identify the virtual serial device that the kernel has created for the adapter. The virtual serial device can look like this:
serial:ttyUSB0
You can find the actual device name in the kernel messages on the device plug with the following command:
~]# dmesg | fgrep ttyUSB0
Set Specific Parameters for Particular Braille Displays
If you need to set specific parameters for particular braille displays, use the braille-parameters
directive in /etc/brltty.conf
. The braille-parameters
directive passes non-generic parameters through to the braille driver. Choose the required parameters from the list in /etc/brltty.conf
.
Set the Text Table
The text-table
directive in /etc/brltty.conf
specifies which text table is used to encode the symbols. Relative paths to text tables are in the /etc/brltty/Text/
directory.
Setting the Text Table
- Decide whether you want to use the autoselection for finding the appropriate text table.
If you want to use the autoselection, leave
text-table
specified toauto
, which is the default option.text-table
auto
# locale-based autoselectionThis ensures that local-based autoselection with fallback to
en-nabcc
is performed.If you do not want to use the autoselection, choose the required
text-table
from the list in/etc/brltty.conf
.For example, to use the text table for American English:
text-table
en_US
# English (United States)
Set the Contraction Table
The contraction-table
directive in /etc/brltty.conf
specifies which table is used to encode the abbreviations. Relative paths to particular contraction tables are in the /etc/brltty/Contraction/
directory.
Choose the required contraction-table
from the list in /etc/brltty.conf
.
For example, to use the contraction table for American English, grade 2:
contraction-table en-us-g2
# English (US, grade 2)
If not specified, no contraction table is used.
11.2. Switch On Always Show Universal Access Menu
To switch on the Orca screen reader, press the Super+Alt+S key combination. As a result, the Universal Access Menu icon is displayed on the top bar.
The icon disappears in case that the user switches off all of the provided options from the Universal Access Menu. Missing icon can cause difficulties to users with a visual impairment. System administrators can prevent the inaccessibility of the icon by switching on the Always Show Universal Access Menu
. When the Always Show Universal Access Menu
is switched on, the icon is displayed on the top bar even in the situation when all options from this menu are switched off.
Switching On Always Show Universal Access Menu
- Open the Gnome settings menu, and click .
Switch on
Always Show Universal Access Menu
.Optional: Verify that the Universal Access Menu icon is displayed on the top bar even if all options from this menu are switched off.
11.3. Enabling the Festival Speech Synthesis System
By default, Orca uses the eSpeak speech synthesizer, but it also supports the Festival Speech Synthesis System. Both eSpeak and Festival Speech Synthesis System (Festival) synthesize voice differently. Some users might prefer Festival to the default eSpeak synthesizer. To enable Festival, follow these steps:
Installing Festival and Making it Running on Boot
Install Festival:
~]# yum install festival festival-freebsoft-utils
Make Festival running on boot:
Create a new
systemd
unit file:Create a file in the
/etc/systemd/system/
directory and make it executable.~]# touch /etc/systemd/system/festival.service ~]# chmod 664 /etc/systemd/system/festival.service
Ensure that the script in the
/usr/bin/festival_server
file is used to run Festival. Add the following content to the/etc/systemd/system/festival.service
file:[Unit] Description=Festival speech synthesis server [Service] ExecStart=/usr/bin/festival_server Type=simple
Notify
systemd
that a newfestival.service
file exists:~]# systemctl daemon-reload ~]# systemctl start festival.service
Enable
festival.service
:~]# systemctl enable festival.service
Choose a Voice for Festival
Festival provides multiples voices.
To make a voice available, install the relevant package from the following list:
- festvox-awb-arctic-hts
- festvox-bdl-arctic-hts
- festvox-clb-arctic-hts
- festvox-kal-diphone
- festvox-ked-diphone
- festvox-rms-arctic-hts
- festvox-slt-arctic-hts
- hispavoces-pal-diphone
- hispavoces-sfl-diphone
To see detailed information about a particular voice:
~]# yum info package_name
To make the required voice available, install the package with this voice and then reboot:
~]# yum install package_name ~]# reboot