Chapter 23. Enabling accessibility for visually impaired users

As a system administrator, you can configure the desktop environment to support users with a visual impairment.

To enable accessibility, perform the following procedures.

23.1. Components that provide accessibility features

On the RHEL 8 desktop, the Orca screen reader ensures accessibility for users with a visual impairment. Orca is included in the default RHEL installation.

Orca reads information from the screen and communicates it to you using the following components:

Speech Dispatcher
Orca uses Speech Dispatcher to communicate with the speech synthesizer. Speech Dispatcher supports various speech synthesis backends, ensures that messages from other applications do not to interrupt the messages from Orca, and provides other functionality.
Speech synthesizer
Provides a speech output. The default speech synthesizer is eSpeak-NG.
Braille display
Provides a tactile output. The BRLTTY service enables this functionality.

Additional resources

23.2. Enabling the Universal Access menu

You can enable the Universal Access Menu icon in the top panel, which provides a menu with several accessibility options.

Procedure

  1. Open the Settings application.
  2. Select Universal Access.
  3. Enable the Always Show Universal Access Menu item.

    Enabling the Universal Access menu in Settings

    always show univ acces menu new

Verification

  • Check that the Universal Access Menu icon is displayed on the top bar even when all options from this menu are switched off.

    universal access menu

23.3. Enabling the screen reader

You can enable the Orca screen reader in your desktop environment. The screen reader then reads the text displayed on the screen to improve accessibility.

Procedure

  • Enable the screen reader using either of the following ways:

    • Press the Super+Alt+S keyboard shortcut.
    • If the top panel shows the Universal Access menu, select Screen Reader in the menu.

Verification

  1. Open an application with text content.
  2. Check that the screen reader reads the text in the application.

23.4. Enabling a Braille display device

The Braille display is a device that uses the brltty service to provide tactile output for visually impaired users.

In order for the Braille display to work correctly, perform the following procedures.

23.4.1. Supported types of Braille display device

The following types of Braille display devices are supported on RHEL 8.

Table 23.1. Braille display device types and the corresponding syntax

Braille device typeSyntax of the typeNote

Serial device

serial:path

Relative paths are at /dev.

USB device

[serial-number]

The brackets ([]) here indicate optionality.

Bluetooth device

bluetooth:address

 

23.4.2. Enabling the brltty service

To enable the Braille display, enable the brltty service to start automatically on boot. By default, brltty is disabled.

Prerequisites

  • Ensure that the brltty package is installed:

    # yum install brltty
  • Optionally, you can install speech synthesis support for brltty:

    # yum install brltty-espeak-ng

Procedure

  • Enable the brltty service to start on boot:

    # systemctl enable --now brltty

Verification steps

  1. Reboot the system.
  2. Check that the brltty service 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

23.4.3. Authorizing users of a Braille display device

To use a Braille display device, you must set the users who are authorized to use the Braille display device.

Procedure

  1. In the /etc/brltty.conf file, ensure that keyfile is set to /etc/brlapi.key:

    api-parameters Auth=keyfile:/etc/brlapi.key

    This is the default value. Your organization might have overridden it.

  2. Authorize the selected users by adding them to the brlapi group:

    # usermod --append -G brlapi user-name

23.4.4. Setting the driver for a Braille display device

The brltty service automatically chooses a driver for your Braille display device. If the automatic detection fails or takes too long, you can set the driver manually.

Prerequisites

  • The automatic driver detection has failed or takes too long.

Procedure

  1. Open the /etc/brltty.conf configuration file.
  2. Find the braille-driver directive, which specifies the driver for your Braille display device.
  3. Specify the identification code of the required driver in the braille-driver directive.

    Choose the identification code of required driver from the list provided in /etc/brltty.conf. For example, to use the XWindow driver:

    # XWindow
    braille-driver	xw

    To set multiple drivers, list them separated by commas. Automatic detection then chooses from the listed drivers.

23.4.5. Connecting a Braille display device

The brltty service automatically connects to your Braille display device. If the automatic detection fails, you can set the connection method manually.

Prerequisites

  • The Braille display device is physically connected to your system.
  • The automatic connection has failed.

Procedure

  1. If the device is connected by a serial-to-USB adapter, find the actual device name in the kernel messages on the device plug:

    # journalctl --dmesg | fgrep ttyUSB
  2. Open the /etc/brltty.conf configuration file.
  3. Find the braille-device directive.
  4. In the braille-device directive, specify the connection.

    You can also set multiple devices, separated by commas, and each of them will be probed in turn.

    For example:

    Example 23.1. Settings for the first serial device

    braille-device	serial:ttyS0

    Example 23.2. Settings for the first USB device matching Braille driver

    braille-device	usb:

    Example 23.3. Settings for a specific USB device by serial number

    braille-device	usb:nnnnn

    Example 23.4. Settings for a serial-to-USB adapter

    Use the device name that you found earlier in the kernel messages:

    braille-device	serial:ttyUSB0
    Note

    Setting braille-device to usb: does not work for a serial-to-USB adapter.

    Example 23.5. Settings for a specific Bluetooth device by address

    braille-device	bluetooth:xx:xx:xx:xx:xx:xx

23.4.6. Setting the text table

The brltty service automatically selects a text table based on your system language. If your system language does not match the language of a document that you want to read, you can set the text table manually.

Procedure

  1. Edit the /etc/brltty.conf file.
  2. Identify the code of your selected text table.

    You can find all available text tables in the /etc/brltty/Text/ directory. The code is the file name of the text table without its file suffix.

  3. Specify the code of the selected text table in the text-table directive.

    For example, to use the text table for American English:

    text-table	en_US	 # English (United States)

23.4.7. Setting the contraction table

You can select which table is used to encode the abbreviations with a Braille display device. Relative paths to particular contraction tables are stored within the /etc/brltty/Contraction/ directory.

Warning

If no table is specified, the brltty service does not use a contraction table.

Procedure

  • Choose a contraction table from the list in the /etc/brltty.conf file.

    For example, to use the contraction table for American English, grade 2:

    contraction-table	en-us-g2	 # English (US, grade 2)