Using Orca to Evaluate Web Accessibility

This guide is profoundly inspired from WebAIM's "Using VoiceOver to Evaluate Web Accessibility" article, but applied to Orca's screen reader. It deliberately follows the same content structure, as WebAIM offers a very well structured article that, in my opinion, fits the basic needs of a Web professional who aims at testing their User Interfaces with a screen reader under a Linux GNOME desktop environment.
Moreover, I could not have come up with a smarter structure to be very honest.

Article content

Introduction

Orca is a free, open source, flexible, and extensible screen reader that provides access to the graphical desktop via speech and refreshable braille.

Orca is available on Linux and is being continuously developed as part of the GNOME project.
It comes out of the box with Ubuntu!

While reading this article, keep a few things in mind:

  • This article does not contain a comprehensive list of Orca shortcuts. It does provide a list of the essential commands that new or novice Orca users should know. For a more comprehensive list of Orca keyboard shortcuts, see the Orca's commands page from Orca Screen Reader documentation. The Orca Getting started guide is also available.
  • If you are new to screen readers, plan on spending some time (perhaps several hours) becoming comfortable using Orca. Don't get discouraged if things still seem confusing after only a few minutes. Slow down the reading speed and take your time.
  • While Orca works with Web browsers, including Firefox and Chrome/Chromium that support the Assistive Technology Service Provider Interface (AT-SPI), which is the primary assistive technology infrastructure for Linux and Solaris, this guide will primarily focus on using Orca with Firefox under Ubuntu as according to latest "WebAIM's screen reader survey" from 2024, Firefox is the browser that is most commonly combined with Orca.

Getting started

There are few methods to start (or stop) Orca.

The simplest way is to use the key binding Super+Alt+S.
The Super key is an alternative name for what is commonly labelled as the Windows key or Command key on modern keyboards.

The more tedious way, but that may offer load-time options, is to type orca, along with any optional parameters, in a Terminal window or within the Run dialog and then press Enter.
To stop it when using the Terminal window, press Ctrl + C.
To stop it when using the Run dialog, launch the Run dialog again, type killall orca and the press Enter.

The Orca Modifier key, called Orca key and later denoted as Orca in this page, can be among the following:

  • Numpad 0 referenced as "KP_Insert" in the settings
  • Insert
  • Insert, Numpad 0
  • Caps Lock referenced as "Caps_Lock" in the settings

Which key the Orca Modifier is bound to will, by default, depend on whether you are using Orca's Laptop keyboard layout or its Desktop keyboard layout.
This article will only focus on Laptop keyboard layout.
The Desktop keyboard layout key bindings can be found Orca's screen reader documentation.

While working in Orca, keep the following in mind:

  • Orca currently functions best with Firefox. Orca works with Chrome/Chromium, but some errors may be introduced. Orca can also access applications including such as LibreOffice. This article will only focus on accessing web content with Firefox.
  • Remember that screen reader users typically do not use a mouse. As you become more comfortable with Orca, try using only the keyboard.
  • Most browser shortcut keys will work when using Orca.

Configure Orca

Configure Orca modifier key

If you will to configure the Orca modifier key,

  1. Access the "Screen reader preferences" dialog. To bring up this dialog, execute orca -s from your Terminal or the "Run dialog".
  2. Move to the "Key Bindings" page
  3. Move to the "Screen Reader Modifier Key(s)" combobox
  4. Select the desired modifier from the combobox options.
  5. Press the "Apply" button.

These keys are used to access special Orca commands and functions and will be referenced simply as Orca in this pages onward.

For example Orca + Space, which equates to Insert + Space, if Insert is configured as the Orca modifier key, will open Orca preferences dialog.

Configure Orca voice

Now that you will be spending time using it, you would better set an Orca voice preference. To do so, open the "Screen reader preferences" dialog and move to the "Voice" page, and then configure to your liking.

Be it that you are not content enough with the set of voices available, you may consider researching online for others that can be used by Orca.

You may consider RHVoice, a free and open-source multilingual speech synthesizer compatible with Orca.
Refer to "Using RHVoice on Linux" to set it up on your linux machine. After you reboot and return the Screen reader "Voice" preferences you should be able to pick "rhvoice" from the "Speech synthesizer" combobox.

In the list below are other voices options you can explore:

  • Voxin ($20 in average per voice): An easily installable add-on which provides text-to-speech to blind users of GNU/Linux. It offers many proprietary voices in many languages, many of which sound very good. Some may recognise Samantha, the default VoiceOver voice.
  • Piper (Free): Set of voices that are quite realistic, generally too slow for screen reader use, although it seems to work well for some as this "Use the Orca Screen Reader with Piper" gist testifies.

Reading

There are dozens of keyboard shortcuts that allow you to read web content.

The following is a list of essential reading shortcuts. With these shortcuts, you should be able to read through most web content with Orca.

  • Orca + ;: Start reading at current position (also know as "Say all")
  • Orca + Shift + : Speak current selection
  • /: Move and read Previous/Next character
  • Ctrl + /: Move and read Previous/Next word
  • /: Move and read Previous/Next line
  • Orca + /: Present the title bar
  • Orca + V: Toggle verbosity level ("brief" or "verbose")
  • Orca: Stop reading
  • Orca + S: Turn speech on and off. Extremely convenient as it sits half-way between "Stop reading" and "Stop Orca". It prevents Orca from "speaking" along all your moves and actions (e.g.switching window/application or operating your keyboard).

You may want to practice reading through the content on this page with Orca right now.

Sighted users visually navigate through web content in a number of ways. They skim for headings, lists, tables, etc. Most of these methods are available to Orca users if the web page is correctly structured and well organised.

There are several single-key shortcuts to quickly navigate by common page elements.

Single-key navigation shortcuts

There are several single-key shortcuts to quickly navigate by common page elements. Orca offers this feature through its "Structural navigation" mode.

To use this mode, you first you need to switch it on with:
Orca + Z.

These single-key shortcuts include:

  • Tab: Links and form controls
  • H: Headings
  • 1 - 6: Headings level 1-6
  • F: Form controls
  • B: Buttons
  • C: Combo boxes
  • E: Entries i.e. Text inputs
  • R: Radio buttons
  • X: Checkboxes
  • T: Tables
  • K: Links (mnemonic: Link ends with K)
  • U: Unvisited link
  • V: Visited link
  • G: Graphics i.e. Images
  • L: Lists
  • I: Items in a list
  • P: Paragraph
  • B: Blockquote
  • M: Landmarks (mnemonic: M like Mark)
  • S: Separators

Tip:

  • Shift + any of these keys will allow to navigate in reverse.
  • Shift + Alt any of these keys brings up a dialog with the list of all items of type (e.g. all Headings, all Headings of level 2, all Links...).

Other navigation shortcuts

  • Orca + [: Open the Find dialog
  • Orca + ]: Search for the next instance of a string
  • Orca + Ctrl + ]: Search for the previous instance of a string

You can read more about Orca Find on Orca Screen Reader documentation.

Images

An image's alternative text will be read by Orca. If alternative text is not defined, Orca will typically ignore it, except in some cases where the image has a function (e.g. image is a link).

WebAIM put together an Image examples and practice page that you can use and explore with Orca. Note that this page is branded for VoiceOver but its content is as relevant for Orca than it is for VoiceOver.

Data Tables

To navigate to the next table in a page, press the T. To navigate within a data table, hold down Shift + Alt + an arrow key to go to the adjacent cell according to direction dictated by the pressed arrow key. If a table has proper row and column headers, they will be read automatically while navigating.

WebAIM put together a Table examples and practice page that you can use and explore with Orca. Note that this page is branded for NVDA but its content is as relevant for Orca than it is for NVDA if you skip the "Data tables" section that mentions shortcuts relevant to NVDA only.

Other Data Tables navigation shortcuts

  • Orca + F11: Toggle cell/row reading
  • Shift + Alt + Home: Go to first cell in table
  • Shift + Alt + End: Go to last cell in table

Forms

When a form control gets keyboard focus, its label is read by Orca, and then the type of form control. If a group of form controls—typically groups of checkboxes or radio buttons—is contained in a fieldset with a legend, Orca presents items in a fieldset as a group and reads the legend when you first navigate to anything within the group.

Use the following browser keyboard controls to interact with form controls:

  • Tab and Shift + Tab: Navigate forward/backward through form controls.
  • Space: Select and deselect checkboxes.
  • /: Select from a group of radio buttons.
  • / or the first letter of an option: Select an option in a combo box
  • Enter: Submit a form

WebAIM put together a Form examples and practice page that you can use and explore with Orca. Note that this page is branded for NVDA but its content is as relevant for Orca than it is for NVDA.

Focus and Browse modes

Since screen readers use many of the keys on the keyboard for quick navigation, filling in a form or interacting with a widget presents a dilemma. For example, when pressing H, how does a screen reader know if you want to navigate to the next heading or enter the letter into a textbox?

Orca takes care of this by switching between two "modes." "Browse mode" is the default mode for reading and navigating the page—the mode where H takes you to the next heading. "Focus mode" passes almost all keystrokes on to the browser—the mode where H puts the letter H in a text box.

Orca will automatically turn on focus mode when you use structural navigation commands to navigate to a form field. For example, pressing E to move to the next entry would move focus there and also turn focus mode on so that your next press of E would type an “e” into that entry.
In order to start or stop interacting with the focused form field, use Orca Modifier+A to switch between browse mode and focus mode.

Practice

Take the current page, apply your some of your learnings. For example:

  • Switch Orca on
  • Listen
  • Tell Orca to stop reading
  • Start reading at at current position
  • Turn off speech
  • Turn on speech
  • Present the title bar
  • Use Orca + Z to switch to structural navigation
  • Switch Orca off
  • Turn off the monitor and repeat some of these tasks.

References and resources