Orca--Take the Killer Whale for a Ride

What is this a11y thing (accessibility: 11 letters between the a and the y), and how might people access a complex graphical desktop they can't see?

Orca is a free, open-source, extensible screen reader that provides access to the graphical desktop via user-customizable combinations of speech, Braille and/or magnification. In this article, I briefly discuss how to set up and use Orca on the GNOME desktop. This article's intended audience includes not only users with visual impairments, but also developers interested in improving the accessibility of their applications.

Figure 1. Orca Swimming in the AT-SPI Sea

Orca works with applications and toolkits that support the assistive technology service provider interface (AT-SPI), which is the primary assistive technology infrastructure for Linux and the Solaris operating environment. Applications and toolkits supporting the AT-SPI include the GNOME GTK+ toolkit, the Java platform's Swing toolkit, OpenOffice.org and Mozilla (KDE/Qt support for AT-SPI remains under investigation). As a result, Orca can provide access to applications, such as Firefox 3, Thunderbird 3, OpenOffice.org, most GNOME applications and a wide variety of multimedia applications.

Via the AT-SPI, Orca connects to applications and communicates with their graphical components, such as push buttons, text areas, menus and so forth. As you interact with an application, the AT-SPI notifies Orca. In response, Orca presents appropriate information to the user via speech synthesis (the machine talks to you), refreshable Braille (an external hardware device) and/or magnification (an enlarged view of the graphical display). Orca also provides mechanisms for you to explore the entire contents of windows presented by the application.

Orca is known as a scriptable screen reader, meaning it can provide customized behavior based on the application with which it is working. With Orca, custom scripts written in the Python programming language can be used to provide more compelling access to the unique interaction models of applications. For example, Orca provides a script for the Pidgin instant-messaging application to give you additional features, such as quickly reviewing the last few messages that have arrived.

Note to application developers: Orca provides a default script that gives access to the majority of applications. As a result, a custom script is not required for each application. The Orca team encourages you to test your applications using Orca, however, and to create a custom Orca script if it is needed. The Orca team is happy to help you!


In order to use Orca, you need a desktop environment that supports the AT-SPI, such as GNOME. Fortunately, GNOME is widely available on many operating system distributions, including Ubuntu, Fedora, Debian, OpenSUSE, Solaris Express and so on. Although Orca works on GNOME 2.18 and better, GNOME 2.20 or better are the versions in which Orca works best. Because Orca also is under constant development, the brave are encouraged to use the latest sources. See the “Downloading and Installing Orca” page of the Orca Wiki for more information on working with Orca sources.

To use speech, Orca currently uses gnome-speech to communicate with speech synthesis engines on the machine. On Linux systems, there are a variety of free, open-source engines available, including eSpeak and Festival. Most operating system distributions typically provide gnome-speech and at least one speech synthesis engine. To determine whether Orca can use speech on your machine, run the test-speech application provided by gnome-speech. If you can get your machine to speak using test-speech, it should work with Orca. See the “Speech” page on the Orca Wiki for more information on setting up speech on your system.

A typical Braille user will have purchased an external hardware device called a refreshable Braille display. These devices provide a number of Braille cells—typically 40 or so—where each cell comprises eight dots that a software application can pop up or down to create a Braille character. Orca uses a separate software application, called BrlTTY, to communicate with refreshable Braille displays. Like gnome-speech, many operating system distributions install BrlTTY by default. The configuration of BrlTTY is outside the scope of this article, but more information can be found at the BrlTTY site and on the “Braille” page of the Orca Wiki.

Figure 2. Refreshable Braille Display

For application developers without a refreshable Braille display, Orca provides a graphical Braille monitor to present what would be sent to the Braille display. The Braille monitor is independent of BrlTTY and also is useful for demonstrating Orca to other people.

Figure 3. Orca's Braille Monitor

Orca currently uses gnome-mag for magnification. As with gnome-speech and BrlTTY, the operating system distribution includes gnome-mag by default. You can tell whether your machine has gnome-mag installed if the gnome-mag magnifier application is on your machine.

Figure 4. Magnifier in Action



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


tom11's picture

Some applications work better than others, however, and the Orca community continually works to provide compelling access to more applications. Orca is already provided by default on a number of operating system distributions, including Open Solaris, Fedora, and Ubuntu.


I love Orca.

Grayson Peddie's picture

I've been using Orca in my 8.9" netbook and this really helps me a lot, despite my hearing impairment. That braille display in the image looks kind of nice, though, and it can go hand-on-hand with my netbook. However, if only I could afford to get a Braille display. I've been keeping an eye on prototype affordable braille displays out there in the Internet (Google "prototype affordable braille display" with quotes). I don't like to loan an expensive braille display, even if I don't want to make a very major purchase if I earn about $4,000 a month...

Free Dummies Books
Continuous Engineering


  • What continuous engineering is
  • How to continuously improve complex product designs
  • How to anticipate and respond to markets and clients
  • How to get the most out of your engineering resources

Get your free book now

Sponsored by IBM

Free Dummies Books
Service Virtualization

Learn to:

  • Define service virtualization
  • Select the most beneficial services to virtualize
  • Improve your traditional approach to testing
  • Deliver higher-quality software faster

Get your free book now

Sponsored by IBM