Chapter 17. Configuring the desktop environment for accessibility
As a system administrator, you can configure a system with the desktop environment to support users with a visual impairment.
Accessibility in Red Hat Enterprise Linux 8 desktop for the blind users is ensured by the Orca screen reader, which is included in the default installation of the operating system.
Orca reads information from the screen and communicates it to the user using:
- Speech synthesizer - provides a speech output
- Braille display - provides a tactile output
For more information on Orca settings, see Orca’s help page.
For Orca’s communication outputs to function properly, the system administrator must:
- Switch on the Always Show Universal Access Menu option
- Enable the Festival speech synthesizer
17.1. Configuring the brltty service
The Braille display is a device that uses the
brltty service to provide tactile output for visually impaired users.
In order that a Braille display works correctly, system administrators must:
17.1.1. Enabling the brltty service
The Braille display cannot work unless the
brltty service is running. By default,
brltty is disabled.
brltty to be started on boot, use the following procedure.
To enable the
brlttyservice on boot, run:
# systemctl enable --now brltty
- Reboot the system.
Make sure that the
brlttyservice is running:
# systemctl status brltty ● brltty.service - Braille display driver for Linux/Unix Loaded: loaded (/usr/lib/systemd/system/brltty.service; enabled; vendor pres> Active: active (running) since Tue 2019-09-10 14:13:02 CEST; 39s ago Process: 905 ExecStart=/usr/bin/brltty (code=exited, status=0/SUCCESS) Main PID: 914 (brltty) Tasks: 3 (limit: 11360) Memory: 4.6M CGroup: /system.slice/brltty.service └─914 /usr/bin/brltty
17.1.3. Setting the driver for a Braille display device
braille-driver directive in
/etc/brltty.conf file specifies a two-letter driver identification code of the driver for the Braille display device.
Decide whether you want to use the autodetection for finding the appropriate driver for your Braille display device.
To use autodetection, use the default option as follows:
braille-driver auto # autodetectWarning
Autodetection tries all drivers. Therefore, it might take a long time or even fail. For this reason, setting up a particular driver is recommended.
If you do not want to use the autodetection, specify the identification code of the required driver in the
Choose the identification code of required driver from the list provided in
/etc/brltty.conf, for example:
braille-driver xw # XWindow
You can also set multiple drivers, separated by commas, and autodetection is then performed among them.
17.1.4. Configuring a Braille display device
braille-device directive in the
/etc/brltty.conf file specifies the device to which the Braille display device is connected.
220.127.116.11. Supported types of Braille display device
This section describes which types of Braille display devices are supported.
Table 17.1. Braille display device types and the corresponding syntax
|Braille device type||Syntax of the type|
[a] Relative paths are at
[b] The brackets () here indicate optionality.
Example settings for particular Braille display devices:
braille-device serial:ttyS0 # First serial device braille-device usb: # First USB device matching braille driver braille-device usb:nnnnn # Specific USB device by serial number braille-device bluetooth: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
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:
You can find the actual device name in the kernel messages on the device plug with the following command:
# dmesg | fgrep ttyUSB0
18.104.22.168. Setting specific parameters for Braille display devices
To set specific parameters for particular Braille display devices, use the
braille-parameters directive in
/etc/brltty.conf file. The
braille-parameters directive passes non-generic parameters through to the braille driver. Choose the required parameters from the list in
22.214.171.124.1. Setting the text table
text-table directive in
/etc/brltty.conf specifies which text table is used to encode the symbols. Relative paths to text tables are stored within the
- Decide whether you want to use the autoselection for finding the appropriate text table.
If you want to use the autoselection, leave
text-tablespecified to auto, which is the default option.
text-table auto # locale-based autoselection
This ensures that local-based autoselection with fallback to
For example, to use the text table for American English:
text-table en_US # English (United States)
126.96.36.199.2. Setting the contraction table
contraction-table directive in the
/etc/brltty.conf file specifies which table is used to encode the abbreviations. Relative paths to particular contraction tables are stored within the
Choose the required contraction-table from the list in
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.
17.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 synthesize voice differently. Some users might prefer Festival to the default eSpeak synthesizer.
17.3.1. Enabling Festival
To enable Festival to be automatically started on boot, follow this procedure.
All packages that are necessary for the Festival stack are installed on the system:
# yum install festival festival-freebsoft-utils
Create a new systemd unit file in the
/etc/systemd/system/directory, and make the file executable:
# touch /etc/systemd/system/festival.service # chmod 664 /etc/systemd/system/festival.service
Ensure that the script in the
/usr/bin/festival_serverfile is used to run Festival by adding the following content to the
[Unit] Description=Festival speech synthesis server [Service] ExecStart=/usr/bin/festival_server Type=simple
Notify systemd that a new
# systemctl daemon-reload
Start and enable the
# systemctl enable --now festival
17.3.2. Enabling the required voice
Festival offers multiples voices provided in these packages:
To make a particular voice or voices that users require available, follow this procedure.
You know which voices are available and which voices the users of the system prefer. For detailed information about a particular voice, run:
# yum info package_name
To make the required voice available, install the package with this voice:
# yum install package_name
Reboot the system to apply changes: