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:

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

  1. Open the /etc/brltty.conf file, and find the section called Application Programming Interface Parameters.
  2. Specify the users.

    1. 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 user
    2. To 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

  1. Create the /etc/brlapi.key file.

    ~]# mcookie > /etc/brlapi.key
  2. Change ownership of the /etc/brlapi.key to particular user or group.

    1. To specify an individual user:

      ~]# chown user_1 /etc/brlapi.key
    2. To specify a group:

      ~]# chown group_1 /etc/brlapi.key
  3. 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

  1. Decide whether you want to use the autodetection for finding the appropriate braille driver.

    1. If you want to use autodetection, leave braille driver specified to auto, which is the default option.

      braille-driver	auto	 # autodetect
      Warning

      Autodetection tries all drivers. Therefore, it might take a long time or even fail. For this reason, setting up a particular braille driver is recommended.

    2. 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	 # XWindow

      You 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”):

Table 11.1. Braille Device Types and the Corresponding Syntax

Braille Device TypeSyntax 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-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.

Warning

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

  1. Decide whether you want to use the autoselection for finding the appropriate text table.
    1. If you want to use the autoselection, leave text-table specified to auto, which is the default option.

      text-table	auto	 # locale-based autoselection

      This ensures that local-based autoselection with fallback to en-nabcc is performed.

    2. 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)
Warning

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.

universal access menu
Warning

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

  1. Open the Gnome settings menu, and click Universal Access.
  2. Switch on Always Show Universal Access Menu.

    always show univ access menu
  3. Optional: Verify that the Universal Access Menu icon is displayed on the top bar even if all options from this menu are switched off.

    universal access menu

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

  1. Install Festival:

    ~]# yum install festival festival-freebsoft-utils
  2. Make Festival running on boot:

    1. 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
    2. 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
    3. Notify systemd that a new festival.service file exists:

      ~]# systemctl daemon-reload
      ~]# systemctl start festival.service
    4. 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