# Low Vision or Blindness

From low vision to blindness, the range of visual limitations is broad. Symptoms of low vision include dimness, haziness, extreme far-sightedness or near-sightedness, color blindness, and tunnel vision, among others. People with these disabilities are concerned with being able to see text or images on a computer screen and being able to perform tasks that require eye-hand coordination, such as moving a computer mouse. Text size and color can make a big difference in legibility for people who have low vision.

The technologies that can assist those with low vision or blindness are:

- Screen Magnifier - this is like a magnifying glass. People using them are able to control what area of the computer screen they want enlarged, and can move that focus to view different areas of the screen. They are also known as screen enlargers or large print programs.

- Screen Reader - this makes on-screen information available as synthesized speech or a refreshable Braille display. They can only translate text based information. Graphics can be translated if there is alternative text describing the visual images. They are also known as blind access utilities or screen reviewers.

- Desktop Appearance Enhancement - users can configure the desktop to be easy to read, for example by increasing text size and using high contrast themes.

## Screen Reader and Magnifier

The Orca Screen Reader and Magnifier application enables users with limited vision, or no vision, to use the GNOME Desktop and associated applications. Orca provides the following functionality:

- Screen reader

  The screen reader enables non-visual access to standard applications in the GNOME Desktop, using speech and Braille output.

- Magnifier

  The magnifier provides automated focus tracking and fullscreen magnification to aid low-vision users.

The following sections provide information about Orca and how to use it.

### Introduction to Orca

#### What is Orca?

Orca is a flexible, extensible, and powerful assistive technology for people with visual impairments. Using various combinations of speech synthesis, braille, and magnification, Orca helps provide access to applications and toolkits that support the AT-SPI (e.g., the GNOME desktop). Orca is also free open source software.

#### Why the name Orca?

One of the first DOS screen readers was Flipper by Omnichron corporation in Berkeley, CA. It was named Flipper in part because the blind wife of the programmer envisioned computers as being programmed by flipping switches (an accurate image of a bygone era). Then came another DOS screen reader from Henter-Joyce in Florida - "Jobs access With Speech" (or JAWS). Meanwhile in the UK we had the company Dolphin systems making their own DOS screen reader.

While there isn't otherwise an obvious connection between blindness and creatures from the sea, there is certainly a long tradition around it.

Hence the lore is that it is just keeping with the sea animal naming theme of screen readers. Plus, Orca is a lot tougher sounding than Nemo, Ariel, Willy, or Mr. Limpet.

#### What's the schedule?

Orca is part of the GNOME platform and Orca's releases are coupled with the releases of the GNOME platform.

#### How do I request a new feature?

Bugs and feature/enhancement requests (RFEs) should be reported to the GNOME Bug Tracking System. Patches are always welcome, and instructions for creating patches can be found in the GNOME introduction to Subversion (svn).

#### Where is the discussion list?

You can get in touch with developers and other users by

sending an e-mail to the Orca mailing list ( Archives).

#### Is braille supported?

Yes! Braille is supported via BrlTTY and it is integrated well with Orca. BrlTTY offers support for nearly every refreshable braille display known to man. Please refer to the Braille page for more information.

#### Is contracted braille supported?

Orca currently only supports uncontracted braille. Future support for contracted braille, however, is in our plans. Please refer to GNOME bug 354470 to track the progress on this front.

#### What voices are available?

Orca provides interfaces to both `gnome-speech` and `emacspeak` speech services. As such, the available voices for Orca are only restricted by the speech engines supported by the available speech services. For free speech engines, you typically have a choice of the eSpeak, Festival, and FreeTTS speech engines. For commercial engines, you have a choice of additional engines such as Fonix DECtalk, Loquendo, Eloquence, Cepstral, IBMTTS, and others may be on the way soon. Keep an eye on the `gnome-speech` package for more progress in this area.

#### What languages are supported?

The GNOME Translation teams are composed of many passionate volunteers from around the world. These teams do a great job and keep an up-to-date status report. Please see the Orca translation status page for the large number of languages into which Orca has been translated. Note that the support for a language also depends upon a speech synthesis engine that supports the language whether BrlTTY has braille tables for the language or not.

#### How well does magnification work?

Orca currently uses the `gnome-mag` magnification service. As of this writing (GNOME 2.18), `gnome-mag` has incorporated some support for smoother full screen magnification, which relies upon newer extensions in the X Window System server. These extensions do not always function well on all platforms, so smooth full screen magnification may not always work.

#### How is web access coming along?

We are targeting Firefox 3 for providing compelling web access. The work is progressing step by step and both the Orca and Firefox teams are working feverishly to get it done.

### Using Orca

#### Initial Set-up

When you run Orca for the first time, it will automatically enter setup mode. If you want to run setup at some later point, you can pass the `--setup` option to Orca the next time you run it. Furthermore, while Orca is running, you can press Insert Space to bring up the Orca setup window. Finally, Orca provides a text setup utility that you can start by passing the `--text-setup` option to Orca. All of these options will create a `~/.orca/user-settings.py` file that holds your preferences and will also enable the accessibility infrastructure. You need to log out and log back in for the accessibility infrastructure settings to take effect.

#### How do I run Orca?

Run Orca by typing `orca`into a Terminal. You can do so from a virtual console window if you do not yet have access to the GUI. Orca will automatically enter text setup mode if you run it from a virtual console window or your GUI environment is not yet set up for accessibility.

#### Quitting Orca

To quit orca, press Insert Q . A confirmation dialog will appear. Select "yes" to quit. If the system seems unresponsive, you can do a couple things:

- Run `orca --quit` from a terminal window, such as a virtual console (press Ctrl Alt F1 on most Linux platforms to get to a virtual console and then Alt F7 to get back to the desktop). This will kill orca and clean up after it. You can then rerun orca using the Orca command.

  Press Ctrl Alt Backspace to kill your login session and get back to the graphical login prompt.

### Customizing Orca

#### How do I define my own keybindings?

You can currently redefine your key bindings for Orca in two main ways. The first way is to be able to choose between the destkop and laptop layouts, which can be selected on the "General" page of the Orca Configuration GUI (press Insert Space to bring up the Orca preferences GUI). For finer-grained control, you can also redefine indivual key bindings on the "Key Bindings" page of the Orca Configuration GUI.

The remainder of this answer might be out of date.

Here's an example you can add to your `~/.orca/user-settings.py` file. It sets up a global keybinding for Insert T ( Insert is the Orca modifier) to speak and braille "Hello World."

    # Set up custom keybindings.
    import orca.braille
    import orca.input_event
    import orca.keybindings
    import orca.orca
    import orca.speech
    from orca.orca_i18n import _
    def sayHello(script, inputEvent=None):
        message = _("Hello World")
        # Say/braille something.
        #
        orca.speech.speak(message)
        orca.braille.displayMessage(message)
        # Consume the event so it will not go to an application.
        #
        return True
    sayHelloHandler = orca.input_event.InputEventHandler(
        sayHello,
        _("Says hello to this fine world."))
    myKeyBindings = orca.keybindings.KeyBindings()
    myKeyBindings.add(orca.keybindings.KeyBinding(
        "t",
        1 << orca.settings.MODIFIER_ORCA,
        1 << orca.settings.MODIFIER_ORCA,
        sayHelloHandler))
    orca.settings.keyBindingsMap["default"] = myKeyBindings

#### Use a keyboard command to make Orca speak or braille the current date and time

Place the following lines in `~/.orca/orca-customizations.py`. If this file does not exist, create it.

    import orca.input_event
    import orca.keybindings
    import orca.orca
    import orca.speech
    import orca.braille
    import re

    myKeyBindings = orca.keybindings.KeyBindings()

    def sayTime(script, inputEvent=None):
        import time
        message = time.strftime("%a, %d %b %Y %H:%M:%S", time.localtime())
        orca.speech.speak(message)
        orca.braille.displayMessage(message)
        return True

    sayTimeHandler = orca.input_event.InputEventHandler(
        sayTime,
        "Presents the time.")

    myKeyBindings.add(orca.keybindings.KeyBinding(
        "d",
        1 << orca.settings.MODIFIER_ORCA,
        1 << orca.settings.MODIFIER_ORCA,
        sayTimeHandler))

    orca.settings.keyBindingsMap["default"] = myKeyBindings

Note that in this case Insert D will be used to report current information about the time and date.

#### How do I set up my own custom script area?

The short answer is that if you create an empty `~/.orca/orca-scripts/__init__.py` and place your custom scripts in `~/.orca/orca-scripts`, Orca will pick up any scripts from there before looking in the installed area.

#### Orca Configuration GUI

The Orca Configuration GUI allows you to customize the behavior and features of Orca, such as speech, braille, and magnification. For example, you can select which speech synthesis engine you want to use, whether braille is enabled or not, and which magnification preferences you want. You can select which general keyboard layout you want (desktop or laptop) and you can also examine and modify the existing keyboard layout with fine grained control. To bring up the Orca Configuration GUI, press <ORCA MODIFIER> Space , where `<ORCA MODIFIER>` is Insert when you use the desktop key bindings, and Caps Lock when you use the laptop key bindings.

The Orca Configuration GUI is a multi-page dialog containing several sections, each of which is described in the following sections.

##### General Page

The "General" page allows you to customize general aspects of Orca. These include the following:

###### Keyboard layout

The keyboard layout section allows you to specify if you will be working on a laptop (small) or desktop (large, with a numeric keypad) keyboard. You select which layout you want by selecting one of the following option:

- Desktop - if selected, the Desktop Keyboard Layout will be used.

- Laptop - if selected, the Laptop Keyboard Layout will be used

###### Show Orca main window

The Orca main window provides you with a graphical way to display the Orca Configuration GUI (also obtainable via Insert Space ) and to quit Orca (also achievable via Insert Q ). Many users do not like the Orca main window because it shows up in the window manager's tab order when you press Alt Tab to switch windows. By deselecting the "Show Orca main window" button, you can tell Orca to not show the Orca main window.

###### Quit Orca without Confirmation

Normally, when you press Insert Q to quit Orca or press the Quitbutton in the Orca main window, Orca will pop up a confirmation dialog asking you if you want to quit. Unchecking this option prevents the confirmation window from appearing.

###### Disable gksu keyboard grab

When running system administration commands from the launch menu, many distributions use an application known as gksuto authorize the user to run these commands ( gksuis the GUI that asks you for your password). When it runs, gksuenables what is known as a "keyboard grab," which is a feature to prevent keyboard actions from going to any other application on the desktop, including Orca. The result of a keyboard grab is that Orca will not receive any keyboard events, preventing Orca from functioning normally.

By selecting the Disable gksu keyboard grabbutton, you will turn off the keyboard grab behavior, allowing Orca to functional normally with system administration applications.

The keyboard grab is a security attempt by gksuto prevent nefarious applications from "sniffing" the keyboard and obtaining your password. Please be advised that disabling gksu's keyboard grab feature can expose you to such nefarious behavior.

If you do not feel comfortable with this, you can always use the root account for system administration purposes. To do so, you need to enable the root account for login, and the logout and log back in as root whenever you want to perform a system administration command.

###### Present tooltips

When checked, this option will tell Orca to present information about tooltips when they appear as the result of mouse hovering. Specific actions to force tooltips to appear, such as pressing Ctrl F1 when an object has focus, will always result in tooltips being presented, regardless of this setting.

##### Speech Page

The speech page allows you to customize how Orca uses speech synthesis.

###### Enable speech

The first control of note on the speech page is the

enable speech check box. This check box toggles whether or not Orca will make use of a speech synthesizer. This option, along with the ability to enable braille and enable magnifier support, allow Orca to be tailored to meet the needs of a wide variety of users.

###### Speech System and Speech Synthesizer

The next two controls deal with selecting the speech system and synthesizer. Orca provides support for a growing number of speech systems. At the time of this writing, these include GNOME-speech, Emacspeak, and an experimental backend for Speech Dispatcher. Depending upon how your machine is configured, you may have all or none of these options. Typically, you will have just GNOME-speech.

First, determine which speech system you would like to use - GNOME-speech works best at this time. After making your selection, tab to the speech synthesizer combo box and choose from the list of available synthesizers.

###### Voice Settings

If your synthesizer supports it, Orca can utilize multiple voices in order to identify special cases within an application, such as hyperlinks or upper case text. The voice settings and person combo boxes can be adjusted to customize these settings to your liking. For example, assume you were using Fonix DECtalk and wanted the betty voice to denote upper case. To accomplish this, you could do the following:

1. Tab to the voice settings combo box, and down arrow until the upper case voice is selected.

2. Tab to the person combo box, and down arrow to choose the Betty voice.

The next three sliders in the tab order allow adjustment of the synthesizer's rate, pitch and volume respectively.

Note that you can quickly raise/lower the pitch by pressing Insert Up Arrow and Insert Down Arrow . You can also modify the speaking rate by pressing Insert Left Arrow and Insert Right Arrow .

###### Punctuation Level

The punctuation level radio button group is used to adjust the amount of punctuation spoken by the synthesizer . The available levels are none, some, most, and all.

###### Verbosity

The verbosity setting determines the amount of information that will be spoken in certain situations. For example, if it is set to verbose, the synthesizer will speak shortcut keys for items in pull down menus. When it is set to brief, these shortcut keys are not announced.

###### Table Row Speech

The table row speech option determines the way in which Orca will read items within tables. The available settings are speak current row, or speak current cell. The ability to adjust this behavior can be useful in many situations. For example, consider the process of browsing email messages in Evolution. In this instance it may be preferable to set table speech to current row, so that while arrowing through the list of messages, all relevant info, such as the sender, subject, and whether the message has attachments is read automatically. While the current row setting is active, it is still possible to read individual cells by using the left and right arrows.

Note that you can quickly toggle this behavior by pressing Insert F11 .

###### Speak Indentation

When working with code or editing documents, it is often desirable to be aware of justification as well as indentation. Selecting the speak indentation and justification check box will cause Orca to provide this information.

###### Speak Blank Lines

Some users desire to hear "blank" when navigating to a blank line in a document. Other users do not. If the

speak blank lines check box is selected, Orca will speak blank lines.

##### Braille Page

The braille page allows you to customize various aspects about the use of braille. Orca does not automatically start BrlTTY for you -- you typically need to do that yourself, and it is something that is usually done at boot time.

###### Enable Braille Support

The first control on the braille page is the enable braille support check box. This check box toggles whether or not Orca will make use of a braille display. This option, along with the ability to enable braille and enable magnifier support, allow Orca to be tailored to meet the needs of a wide variety of users. By default, this check box is enabled. If BrlTTY is not running, Orca will recover gracefully and will not communicate with the braille display. If you configure BrlTTY later on, you need to restart Orca in order for it to use braille.

###### Enable Braille Monitor

Orca's braille monitor provides an onscreen representation of what takes place on the braille display. This feature is mostly for demonstration purposes, but is also useful for Orca developers who do not have access to a braille display.

###### Abbreviated Role Names

The abbreviated role names check box determines the manner in which role names are displayed and can be used to help conserve real estate on the braille display. The "abbreviated role names" option can be better understood if we consider the following example. Let us assume that a slider had focus, and that the abbreviated role names box was not checked. In that case, the word "slider" would be shown on the display, to reflect the fact that the current control was indeed a slider. If the abbreviated role names box was checked, the word "slider" would be abbreviated to "sldr".

###### Verbosity

The verbosity radio button group determines the amount of information that will be brailled in certain situations. For example, if it is set to verbose, keyboard shortcut and role name information is displayed. This information is not displayed in brief mode.

##### Key Echo Page

The key echo page allows you to specify the behavior of Orca when pressing keys on the page and whether words are spoken as you complete them.

###### Enable Key Echo

The first control on the key echo page is the enable key echo check box. When this box is selected, five additional check boxes become available. These are Enable alphanumeric and punctuation keys, Enable modifier keys, Enable locking keys, Enable function keys, and Enable action keys.

The alphanumeric and function key groups are relatively self explanatory.

Modifier keys are those such as Shift, Control, and Alt.

Locking keys include Caps Lock, Scroll Lock, and Num Lock.

The action keys group consists of keys that perform some logical action, as Backspace, Returnand Tab.

###### Enable Echo by Word

The last toggle on the key echo page is the enable echo by word check box. The echo by word control is always available, regardless of whether any of the key echo options are checked.

In summary, the key echo scheme can offer a great deal of flexibility. For example, one user might choose to enable all key echo options, while another might prefer to use word echo, but only have locking keys announced.

##### Magnifier Page

The magnifier page allows you to enable/disable magnification and specify how magnification is performed.

###### Enable Magnifier

The first control on the magnifier page is the enable magnifier check box. This check box toggles whether or not Orca will provide magnification. This option, along with the ability to enable speech and enable braille support, allow Orca to be tailored to meet the needs of a wide variety of users.

###### Cursor Settings

- Enable cursor

- Color

- Custom size and width

###### Cross-hair Settings

- Enable cross-hair and size

- Enable cross-hair clip

###### Zoomer Settings

- Scale factor

- Invert colors

- Zoomer position

  - Top, left, right, bottom

- Smoothing

- Mouse tracking mode

- Source display - X Window System DISPLAY of what should be magnified. Typically `:0`.

- Target display - X Window System DISPLAY of where to put the magnified area. Typically `:0`.

##### Key Bindings Page

The key bindings page allows you to examine and modify the key bindings for Orca.

###### Orca Modifier Key(s)

The first control on the key bindings page allows you to eaxmine which key (or keys) acts as the "Orca modifier". The Orca modifier is the key that you press and hold in conjunction with other keys to give commands to Orca. For desktop keyboards, the Orca modifier defaults to Insert. For laptop keyboards, the Orca modifier defaults to the Caps Lock key.

You cannot modify the Orca modifier key(s) using the Configuration GUI at this time.

###### Key Bindings Table

The key bindings table provides a list of Orca operations and the keys that are bound to them.

The "Function" column header is a description of the Ora operation to be performed.

The "Key Binding" header is the primary way to invoke the function from the keyboard. Note that the function description may include the word Orca. This indicates that the Orca modifier key should be held down along with the other keys.

The "Alternate" header provides an alternate mechanism for invoking the function from the keyboard.

To modify either the "Key Binding" or the "Alternate" bindings, arrow to the cell and press Return. Then, press a key combination and press Return to confirm the new combination. When you do so, the new keystroke will be saved and the check box in the last column (the Modified column) will indicate that the key binding has been modified.

To unmodify a modified keybinding, merely arrow to the modified column, uncheck the checkbox, and press the Applybutton ( Alt A ).

##### Text Attributes Page

Orca will speak known text attribute information about an object when you press Insert F ( Caps Lock F for laptop systems).

Because the number of text attributes is large, and not everyone cares about every attribute, the "Text Attributes" tab of the configuration GUI allows you to customize which text attributes Orca will present.

On this tab is a text attribute list, where each row consists of three columns:

1. A checkbox which the user can set to indicate whether this text attribute should be spoken or not.

2. The name of the text attribute.

3. An editable "Spoken unless" string value. By default, not all text attributes will have this set. If present, what it means (assuming the user wants this text attribute spoken) is that the value of the attribute will only be spoken if it's a different value than this value.

For example, by default the "underline" text attribute has a value of "none". If the user has this attribute checked and the user presses Insert F and the text in question is not underlined, then this attribute is not spoken. If you always want this attribute to be spoken irrespective of whether the text is underlined, then the attribute should be checked and the "Spoken unless" value cleared.

There is also a "Reset" Alt R button combination present that will set the list values back to their initial state when the dialog was first displayed.

When you initially display the text attribute pane, all your checked attributes are put at the top of the list. They are given in the order that they will be spoken and brailled.

If you decide to check others or wish to adjust the order, there are four buttons to help you do this:

- "Move to top" Alt T - moves the selected attribute to the top of the list.

- "Move up one" Alt U - moves the selected attribute up one row.

- "Move down one" Alt D - moves the selected attribute down one row.

- "Move to bottom" Alt B - moves the selected attribute to the bottom of the list.

Text attributes can also be set on an individual application basis. The text attribute pane is also part of the application specific settings dialog that is started when you give a particular application focus and press Insert Ctrl Space .

### Application-specific information

#### Accessible Applications

Orca is designed to work with applications and toolkits that support the assistive technology service provider interface (AT-SPI). This includes the GNOME desktop and its applications, OpenOffice, Firefox, and the Java platform. Some applications work better than others, however, and the Orca community continually works to provide compelling access to more and more applications.

#### Using Adobe's Acrobat Reader

We are currently working on a script for Adobe's Acrobat Reader, and the initial version has been contributed to Orca v2.17.5. Note that there is still work to do, and we are very encouraged by Adobe's commitment to accessibility.

##### Installation

If you get Adobe Acrobat Reader directly from the Adobe site, you may find that the software will not launch. The symptoms: If launched from the Applications menu, it appears that nothing has happened. If launched from a terminal window, you receive a long series of syntax error messages. Should this occur, you will need to edit your /usr/bin/acroread file as described in this Ubuntu forum thread.

If you instead choose to install Acrobat Reader from your distribution's packages, be sure to install both acroread and acroread-plugins. Without the plugins package, you will not have the access to the "Reading" category in the Edit Preferences dialog.

Note: If you use Ubuntu and cannot locate the acroread package, you will likely need to edit your /etc/apt/sources.list to include the 'multiverse' repository. Then run `apt-get update`. Having done so, you should then be able to install both acroread and acroread-plugins.

##### Enabling Accessibility and Caret Navigation

Once you've installed Reader, you need to enable accessibility:

1. In the "Accessibility" category of the Edit Preferences dialog, make sure "Always display the keyboard selection cursor" ( Alt D ) is checked.

2. In the "Reading" category of the Edit Preferences dialog, make sure "Enable document accessibility" ( Alt E ) is checked.

##### Working with Untagged Documents

When you open an untagged document, you will be presented with a dialog box asking you to specify the reading order and the reading mode options. The default reading order is "Infer reading order from document." This setting works well for most documents, but not all of them.

The default reading mode will vary depending upon the length of the document: For short documents, the default is "Read the entire document"; for long documents it is "Read the currently visible pages only." Orca seems to provide much better access when "Read the entire document" is selected.

If you find that a document seems to be missing parts of the text, try changing the reading options. To do so, get into the Document menu and select "Change Accessibility Reading Options..." or use the shortcut Ctrl Shift 5 .

##### Page Layout

The best page layout for reading a document with Orca is "single page". When "continuous" is chosen, moving focus to text as the page is scrolling can cause that text not to be read. You can change the page layout to "single page" by getting into the View menu and selecting the Page Layout submenu.

##### Navigating Tables

Regarding tables: As far as we know there's not currently a whole lot of keyboard support for tables in Acrobat Reader. This, by the way, is not an Orca thing; it is an Acrobat Reader thing.

Basically, there are the arrow keys. Their behavior is to move you first within the cell with focus, then to the next cell with data in it. Note that currently, Up and Down Arrow do not seem to move you vertically among cells -- at least that has been the experience with the tables we have tried. Instead, Up and Down seem to move you horizontally until you run out of cells on the current row.

#### Making Application Specific Settings

To customize the settings for a particular application, you will first need to run that application. Make sure that that application has focus, then press ORCA_MODIFIER Control Space (by default, this will be Insert Control Space for the desktop keyboard layout).

This brings up a tabbed dialog window very similar to the generic Orca Preferences dialog, but with the following differences:

1. There is no initial General pane.

2. The Speech System and Speech Synthesizer combo boxes on the Speech pane will be grayed out (made inactive).

3. Any existing application specific key bindings will appear at the top of the list on the Key Bindings pane.

4. There may be a new application specific settings pane at the end of the set of tabbed panes. Note that pressing the End key from the tab list will get you directly to that rightmost tab.

Adjust your application specific Orca settings in a similar way to the way to set your general Orca preferences. For example, you may have key echo disabled generally in Orca but would like to specifically have it enabled for the gcalctool (GNOME Calculator) application. Here's where you could easily set that.

When you have your application settings customized the way that you want, press the OK button. These settings will be written away under your `~/.orca/app-settings` directory in a file called `<APPNAME>.py`, where `<APPNAME>` is the name of the application.

These files are automatically written by Orca. The existing contents of that file will just be blown away each time you change your application settings for that application.

If you want to have some extra application specific settings or code that you don't want to lose, then you should put it in a file called `~/.orca/app-settings/<APPNAME>-customizations.py`. This file will be automatically read when the settings for the `<APPNAME>` application are loaded.

Note that this is an advanced feature that we don't expect most Orca users to use. It's just there if you really want it.

There is currently one known bug (some people would call it a feature) that we are trying to track down and fix:

If you adjust one or more application specific key bindings, the new values will not take immediate effect after you've pressed the OK button on the dialog. The workaround is to either restart Orca, or to Alt-Tab away to some other application and then Alt-Tab back to the one that you've just changed the key bindings for.

### Braille

Orca uses BrlTTY for braille support. Orca does not automatically start BrlTTY for you -- you typically need to do that yourself, and it is something that is usually done at boot time. Start-up options are described in the BRTLTTY reference manual.

Orca attempts to work with various releases of BrlTTY. It works well with BrlTTY v3.7.2, and we've also been working with the BrlTTY team to get it going for BrlTTY v3.8. The remainder of this document provides information related to using Orca with BRLTTY 3.8.

To get Orca working with BrlTTY v3.8 requires that the Python bindings for BrlAPI are built/installed as part of the BrlTTY build/install process. Below are descriptions of the necessary tasks to do this for Ubuntu and Solaris. For both, you need to first obtain brltty-3.8.tar.gz from the BrlTTY site.

#### BrlTTY 3.8 on Ubuntu

First, setup your build environment to build BrlTTY. Much of this setup is done for you automatically in the Ubuntu distribution with products such as G++ already present. In addition, YOU MUST also install tcl, Pyrex, and the Python developers environment. To do this, execute the following commands as `root` :

    apt-get build-dep brltty
    apt-get install tcl8.4 python-pyrex python-dev

Then, when you build BrlTTY, avoid configuring the package with --prefix=/usr. Use the standard procedure instead, executing the following commands as `root` :

    gunzip -c brltty-3.8.tar.gz | tar xvf -
    cd brltty-3.8
    ./autogen
    ./configure
    make
    make install

Run BrlTTY as `root` (need notes on automatically starting brltty):

    /bin/brltty -bauto -d/dev/ttyUSB0

If you want, you can remove the existing `/sbin/brltty` and replace it with the `/bin/brltty` either by copying the `/bin/brltty` to `/sbin/brltty` or just by making a symbolic link. Do so at your own risk.

### Keyboard Commands

This is the list of common Orca keyboard commands. Note that you can always enter Orca's "learn mode" while running Orca by pressing Insert F1 . When in learn mode, Orca will intercept all keyboard and braille input events and will tell you what the effect of them would be. To exit learn mode, press the escape key. If you are using a laptop computer, you will want to see the laptop keyboard commands page at live.gnome.org.

#### Commands for adjusting speech parameters

Insert Right Arrow : increase speech rate

Insert Left Arrow : decrease speech rate

Insert Up Arrow : raise the pitch

Insert Down Arrow : lower the pitch

#### Flat review commands

Numpad-7: Move the flat review cursor to the previous line, and read it.

Numpad-8: Read the current line.

Numpad-9: Move the flat review cursor to the next line, and read it.

Numpad-4: Move the flat review cursor to the previous word, and read it.

Numpad-5: Read the current word.

Numpad-6: Move the flat review cursor to the next word, and read it.

Numpad-1: Move the flat review cursor to the previous character, and read it.

Numpad-2: Read the current character.

Numpad-3: Move the flat review cursor to the next character, and read it.

Numpad-/: Perform a left mouse click at the location of the flat review cursor.

Numpad-*: Perform a right mouse click at the location of the flat review cursor.

The above commands apply when working with objects as well as when working with text. For example, if the flat review cursor were positioned on a menu bar, pressing the "read current line" command ( Numpad-8) would speak the names of all visible menus. Similarly, pressing read next word would speak the object to the right of the flat review cursor on the same line, or move flat review to the next line if no more objects were found.

#### Bookmark commands

Alt Insert [1-6] : Add a bookmark in this numbered slot. If a bookmark already exists at this register it will be replaced with the new one.

Insert [1-6] : Go to the position pointed to by the bookmark bound to this numbered slot.

Alt Shift [1-6] : "Where am I" information for this bookmark relative to the current pointer location.

Insert B and Insert Shift B : Move between the given bookmarks for the given application or page.

Alt Insert B : Save the defined bookmarks for the current application or page.

#### Miscellaneous functions

Insert Numpad + : Say all command. reads from the current position of the caret to the end of the document.

Insert Numpad Enter : Where am I command. Speaks information such as the title of the current application window, as well as the name of the control that currently has focus.

Insert F1 : Enter learn mode (press Escapeto exit)

Insert F : Speak font and attribute information for the current character.

Insert Space : Launch the Orca Configuration dialog.

Insert Ctrl Space : Reload user settings and reinitialize services as necessary. In the latest versions of Orca, launch the Orca Configuration dialog for the current application.

Insert S : Toggle speech on and off.

Insert F11 : Toggle the reading of tables, either by single cell, or whole row.

Insert Q : Quit orca.

#### Commands for debugging

Insert F3 : Report information on the currently active script.

Insert F4 : Cycle through Orca's various debug levels.

In order for the next three commands to be of use, Orca needs to be started from a virtual console or via gnome-terminal. Output is sent only to the console (i.e., it is not sent to speech or braille).

Insert F5 : Prints a debug listing of all known applications to the console where Orca is running.

Insert F7 : Prints debug information about the ancestry of the object with focus.

Insert F8 : Prints debug information about the application with focus.

### Troubleshooting

#### Orca is not speaking. What is going wrong?

See Troubleshooting Speech.

#### My desktop has stopped responding. What do I do?

If you can get to a terminal (or press Alt F2 to open the "Run Command" dialog box), try restarting Orca by issuing another Orca command in a terminal window. This will force any existing Orca process to exit and will then restart Orca. This sometimes has the effect of unhanging the desktop (which is usually due to an ill-behaved application).

If you cannot get to a terminal window, try pressing Ctrl Alt Backspace to kill the X Window System server. This should have the effect of returning you to the login screen.

## Desktop Appearance Enhancement

This chapter describes the methods you can use to change the appearance of the GNOME Desktop to enhance the accessibility of the desktop for users with visual impairments.

### Customization Options

There are a number of methods to enable you to customize the appearance of the GNOME Desktop to suit your specific needs, as follows:

Themes

  Themes are the most effective way to change the appearance of the desktop in a consistent manner. See for more information about themes and how to use themes to achieve the type of desktop environment that you require.

Desktop and application-specific configuration settings

  You can customize different components of the desktop individually to achieve the display settings that you require. You can configure the desktop and applications in addition to using themes or as an alternative to using themes. See for more information.

The following table summarizes the changes that you can make to the GNOME Desktop and where you can make the changes. This guide does not provide detailed instructions about how to customize the desktop. For detailed instructions about how to use the customization tools that the desktop provides, refer to the Help for each tool or to the User Guide.

#### Quick Reference to Customizing the Appearance of the Desktop

To change the... | Use...
--- | ---
Overall appearance of the desktop to use high contrast colors, low contrast colors, or large print. | The Theme preference tool.
Appearance of the desktop background only. | The Desktop Background preference tool and the file manager Backgrounds and Emblems menu item.
Font displayed on the desktop background and in all desktop applications. | The Font preference tool.
Default font settings of the Text Editor, Terminal or Help application. | By default, these applications use the default application font that is specified in the Font preference tool but can be overridden in the Preferences dialog for the application.

### Using Themes to Customize the Desktop

This section describes how to use themes to customize the appearance of the GNOME Desktop.

#### Introduction to Themes

A theme is a group of coordinated settings that specifies how a desktop component or a group of desktop components appears. You can use themes to modify and control the appearance of the desktop in a consistent manner. When you apply a theme, the system modifies many desktop components simultaneously to achieve the desired effect. For example, if you apply a theme that increases the font size across the desktop, the theme also modifies the size of panels and icons on the desktop for optimum compatibility with the font size.

A theme contains settings that affect different parts of the desktop as follows:

Controls

  The controls setting for a theme determines the visual appearance of all windows, applications, panels, and panel applications. The controls setting also determines the visual appearance of the GNOME-compliant interface items that appear on windows, applications, panels, and panel applications, such as menus, icons, and buttons. Some of the controls options that are available in the desktop are designed for special accessibility needs.

Window border

  The window frame setting determines the appearance of the border around windows only.

Icon

  The icon setting determines the appearance of icons on panels and on the desktop background.

#### To Choose a Theme

To choose a theme, perform the following steps:

1. Choose System Preferences Appearance. The themes are listed under the Theme tab.

2. Click on a theme in the list box to choose a new theme. The system automatically applies the theme to the desktop.

   There are several themes available that suit different accessibility needs, as described in the following table:

   ##### Themes Designed for Accessibility Requirements

   Theme Name | Description
   --- | ---
   High Contrast | Provides dark text on a light background using high contrast colors.
   High Contrast Inverse | Provides light text on a dark background using high contrast colors.
   Large Print | This theme suggests an increased font size of 18pt. The background and foreground colors are the same as those specified by the Default desktop theme. To apply the suggested font, click on the Apply Font button.
   High Contrast Large Print | This theme suggests an increased font size of 18pt using dark text on a light background. To apply the suggested font, click on the Apply Font button.
   High Contrast Large Print Inverse | This theme suggests an increased font size of 18pt using light text on a dark background. To apply the suggested font, click on the Apply Font button.

To view the controls, window frame, and icon settings that are associated with a theme, select a theme in the Theme Preferences dialog, then click on the Theme Details button. The Theme Details dialog contains a tabbed section for each setting category. Each tabbed section lists the options that are available and the current setting for the theme is highlighted.

#### To Modify the Controls Setting for a Theme

To modify the controls setting that is associated with a theme, perform the following steps:

1. In the Theme Preferences dialog, select the theme that you want to modify.

2. Click on the Theme Details button. The Theme Details dialog is displayed.

3. Click on the Controls tab to display the controls options that are available.

4. Select the controls option that you want to associate with the current theme from the list box, then click Close. The following table lists the controls options that are suitable for accessibility needs.

##### Controls Options Designed for Accessibility Requirements

Control Option | Description
--- | ---
HighContrast | Provides dark text on a light background using high contrast colors.
HighContrastInverse | Provides light text on a dark background using high contrast colors.
LowContrast | Uses low contrast colors for the background and foreground text.
LargePrint | Increases the size of controls to accommodate larger fonts. To increase the font size, you must use the Font preference tool. The background and foreground colors are the same as those specified by the Default desktop theme.
HighContrastLargePrint | Provides dark text on a light background using high contrast colors. Increases the size of controls to accommodate larger fonts. To increase the font size, you must use the Font preference tool.
HighContrastLargePrintInverse | Provides light text on a dark background using high contrast colors. Increases the size of controls to accommodate larger fonts. To increase the font size, you must use the Font preference tool.
LowContrastLargePrint | Uses low contrast colors for the background and foreground text. Increases the size of controls to accommodate larger fonts. To increase the font size, you must use the Font preference tool.

#### To Modify the Window Border Setting for a Theme

To modify the window border setting that is associated with a theme, perform the following steps:

1. In the Theme Preferences dialog, select the theme that you want to modify.

2. Click on the Theme Details button. The Theme Details dialog is displayed.

3. Click on the Window Border tab to display the window frame options that are available.

4. Select the window frame option that you want to associate with the current theme from the list box, then click Close. The Atlanta option is an accessible option.

#### To Modify the Icon Setting for a Theme

To modify the icon setting that is associated with a theme, perform the following steps:

1. In the Theme Preferences dialog, select the theme that you want to modify.

2. Click on the Theme Details button. The Theme Details dialog is displayed.

3. Click on the Icons tab to display the icon options that are available.

4. Select the icon option that you want to associate with the theme from the list box, then click Close. The following table lists the icon options that are suitable for accessibility needs.

##### Icon Options Designed for Accessibility Requirements

Icon Option | Description
--- | ---
HighContrast | Provides dark on light icons using high contrast colors.
HighContrastInverse | Provides light on dark icons using high contrast colors.
LowContrast | Uses low contrast colors for the background and foreground text.

#### To Create Your Own Themes

For information about how to create your own themes, see the System Administration Guide.

### Customizing Specific Components of the Desktop

This section describes how to customize specific components of the desktop individually.

#### To Customize the Desktop Background

The themes do not affect the desktop background. Therefore to modify the desktop background to complement your desktop, you must customize the desktop background separately using the Desktop Background preference tool. To start the Desktop Background preference tool,choose System Preferences Appearance and choose a background from the Background tab.

#### To Customize Desktop Background Objects

The size of the icons that are displayed on the desktop background is controlled by the File Management preference tool. To change the size of the icons, perform the following steps:

1. From the File Manager window, choose the Edit Preferences menu item.

2. Select the Views tabbed section.

3. In the Icon View Defaults group, select the zoom level that you require in the Default zoom level drop-down list.

#### To Customize Fonts

This section describes how to customize the font settings for the desktop and frequently-used applications.

If you have difficulty with the default font type and font size that is used on the desktop and desktop background, you can customize the font settings to suit your needs.

You can specify individual font settings for the following desktop components and applications:

- Entire desktop excluding the desktop background

- Desktop background only

- Terminal

- Text editor

- Help

- Web Browser

##### To Customize the Desktop Fonts

The Font preference tool allows you to specify the default fonts for the desktop.

To start the Font preference tool, choose System Preferences Appearance. The Fonts tab contains the following options:

Application font

  Click on this button to select a default font to use for the text that is displayed on the desktop, including the text displayed on the windows and dialogs associated with GNOME-compliant applications and panel applications.

  If you use the Theme preference tool to select a theme and you click on the Apply Font button, the font that is associated with the theme overrides the font that you select using the Font preference tool.

Document font

  Click on this button to select a font to use for displaying documents.

Desktop font

  Click on this button to select a font to use for the text that is displayed on the desktop background only.

Window title font

  Click on this button to select a font to use for the text that is displayed in titlebars of your windows.

Fixed width font

  Click on this button to select a font to use for editing documents.

Font rendering

  To specify how to render fonts on the desktop, select one of the following options:

  - Monochrome

  - Best shapes

  - Best contrast

  - Subpixel smoothing

If you use large fonts, you may need to change the size of panes in applications that use panes such as, the file manager and the Help browser.

For more information about the Font preference tool, see the User Guide.

##### To Customize Application Fonts

By default, GNOME applications use the default font specified in the Font preference tool. Some applications allow this default font to be customized. These applications are:

- Help Browser

- Text Editor

- Terminal

- Web Browser

### Meeting Specific Accessibility Needs

The following sections summarize the steps you need to take to improve the accessibility of the desktop in a particular area.

#### To Achieve a High or Low Contrast Desktop

To achieve a high or low contrast desktop, perform the following steps:

1. Use the Theme preference tool to select the high contrast or low contrast desktop theme that you require.

2. Use the Desktop Background preference tool to customize your desktop background as follows:

   - Set the Desktop Wallpaper to No Wallpaper.

   - Set the Desktop Colors to Solid Color.

   - Select a background color that suits your needs.

3. In the Terminal application, ensure that the Use colors from system theme option is selected in the Colors tabbed section of the Editing Profile dialog.

4. In the gedit application, ensure that the Use default theme colors option is selected in the Fonts & Colors tabbed section of the Preferences dialog.

#### To Achieve a Large Print Desktop

To achieve a large print desktop, perform the following steps:

1. Use the Theme preference tool to select the Large Print theme.

2. Click on the Apply Font button to increase the size of the font that is used on the desktop and on window frames.

3. Use the Desktop font option in the Font preference tool to increase the font that is displayed on desktop background objects.

4. Increase the font size that is used to display the contents of the Terminal application window.

5. If the Use default theme font option is selected in the gedit Preferences dialog, gedit uses the font size that is specified in the large print theme that you selected. However, if the Use default theme font option is not selected, increase the font size that is used to display the contents of the gedit text editor window. See the gedit manual for more information.

6. If you use applications that use panes, such as the file manager and the Help browser, you may need to change the size of panes to accommodate the large print. See the online help for the appropriate application for more information.