Accessibility

Last updated 26-Sep-2008.

The primary purpose of this page is currently to discuss and plan the work needed to provide an accessible experience on the LiveCD, including installation.  The main purpose is to enable a person with a disability to pop in a live CD and install the operating system without assistance.  An example of this can be seen with Ubuntu's accessible install.

Early in 2008, Willie Walker did some
prototype work for Indiana, got it working with the old distro constructor and now has it working again with the new distro constructor.

Using eSpeak as the Speech Synthesis Engine

As it is delivered today, the OpenSolaris releases do not include a speech synthesis engine.  As such, this gap needs to be addressed for accessibility to the release overall.  That is, it's not just for accessible install; it's also for access to installed systems.

The main issue is that the FreeTTS speech synthesis engine that has been provided in the past is too large and also doesn't support enough locales.  To address this, we're working on obsoleting FreeTTS and migrating to eSpeak.  

Willie has ported eSpeak to Solaris, providing a direct Sun Audio Device Architecture (SADA) driver for it.  The eSpeak package is currently in SUNWespeak.spec and will be in b100.

Willie has also modified SUNWgnome-a11y-speech.spec to automatically create the GNOME speech driver for eSpeak as a SUNWgnome-a11y-speech-espeak package.

These two additional packages, SFEespeak and SUNWgnome-a11y-speech-espeak, now provide us with a very small solution to the speech synthesis gap (610K extra on the live CD using lzma compression).

STATUS: As of 26-Sep-2008, the eSpeak work is basically complete and eSpeak has been tested on both x86 and SPARC.

Better Support/Cues at the Boot Screen

When the machine initially boots from the live CD, there should be some way for a user to select/enable accessibility features.  Ubuntu allows the user to press F5 to enable accessibility options at the login screen, but it might be using a version of GRUB not used by OpenSolaris (Ubuntu might be using gfxboot/gfxmenu).  The Ubuntu version allows a user to select from a number of accessibility options which are then carried forward to the live desktop session.  For example, if the user enables screen reading at the boot screen, accessibility support for GNOME is automatically enabled and Orca is automatically started when the live session starts.

If we do not plan on using gfxboot/gfxmenu, we might consider embedding simple 'beep' cues in the GRUB items presented on the screen.  For example, we might have a 'boot with screen reader' option that embeds two beeps in the text.  This would allow a blind user to arrow up/down the choices to find the accessible option.

STATUS: 26-Sep-2008.  Willie created a new grub_a11y finalizer to be run after the post_bootroot_pkg_image_mod finalizer.  The new grub_a11y finalizer adds the magnifier and screen reader GRUB entries to the menu.  These options merely define assistive_tech with a -B parameter.  In shell scripts, the value of "assistive_tech" can be found by running the command:

    prtconf -v /devices|sed -n '/assistive_tech/{;n;p;}'|cut -f 2 -d\'

This seems to work well.  While there is no beep, the screen reader item is the last in the list and up/down arrowing doesn't wrap around the list.  As a result, pressing down arrow several times will get you to the bottom of the list.  To get a beep, GRUB needs a patch.

Address Keyboard and Language Selection Menus

When one boots from the initial screen, they are immediately presented with a character-cell menu to select the keyboard layout, and then a character cell menu to select the language.  These are pretty much inaccessible to a large range of disabilities.  For people with visual impairments, it may be minimally acceptable to provide simple auditory prompts (e.g., a beep) to let the user know they are at one of these menus.  These prompts, coupled with careful written guides, may be enough to get the blind user to the graphical desktop session.  

STATUS: 26-Sep-2008.  Willie modified the live-fs-root file of SUNWslim-utils to conditionally beep before presenting the menus.

The only issue is that there can be a slight pause before the menu is presented.  As a result, the user will hear a beep and then need to wait a split second before the real prompt appears.

Modify the 'jack' User To Launch the Appropriate Assistive Technology

If the user selected an accessible option from the GRUB menu, accessibility should be automatically enabled and the appropriate assistive technology should automatically launch when the live CD boots to the graphical desktop.

STATUS: 26-Sep-2008. Willie added a new live-a11y SMF service that modifies jack's gconf settings if an accessible option was selected from the GRUB menu.  This new service depends upon svc:/system/sysidtool:live-media which is what is responsible for creating the /jack and /root areas on the live CD.

NOTE: There is a nasty gnome-session timeout dialog that appears if the AT-SPI registry isn't started fast enough, which is often the case with the live CD.  This should be fixed for b100.

Modify the 'root' User to Enable Access to GUI's Running as 'root'

The network automagic configuration tool, /lib/inet/nwamd, is the thing that displays the GUI for configuring the network.  It runs as the 'root' user, and other things in the live session may also do so.  In order for GUI's running as root to be accessible, the 'root' account needs to be configured to participate in the AT-SPI infrastructure.  Doing so should merely be a matter of creating a /.orbitrc file for 'root':

    ORBIIOPIPv4=1
    ORBIIOPUNIX=0

STATUS: 26-Sep-2008.  This was done as part of the live-a11y SMF service described above.  Note that the /root/.orbitrc does not carry over to the installed system (this is a good thing for now).

Change Runtime Environment for /lib/inet/nwamd

As described above, the network automagic tool runs as 'root'.  In addition to needing a /.orbitrc for 'root', GTK_MODULES=gail:atk-bridge also needs to be defined for the nwamd process.  Without this, the nwamd GUI is inaccessible via assistive technologies running as 'jack'.

STATUS: 26-Sep-2008.  This was done as part of the live-a11y SMF service described above.  Note that the /lib/inet/nwamd modification does carry over to the installed system (this should be acceptable).

NOTES: this space might be changing.  Need to contact the project lead for nwamd.  Note this change carries over to the installed system.  We may be able to get around the need to do this as a result of the work on GTK+ bug 535827, which should hit the streets for GNOME 2.24.1.

Fix Accessibility Issues in Installer

In experiments, a blind user was able to navigate and use the installer as long as they had a separate written guide explaining the common pitfalls.  This is a positive achievement, but we want to do better.

Flat review of the pages also yields inconsistent results and omitted text.  This makes it difficult for a user to determine what is being presented in a dialog.

PROPOSAL AND WORK NEEDED: first debug with Orca and accerciser to see if the accessible information from the installer is causing this or if there is a bug in Orca.  Fix either the installer or Orca as needed.

NOTES: the installer is installed under /usr/bin/gui-install, even on an installed machine.  In addition, the sources to the installer live under the slim_source area along with all the other stuff we're looking at.

STATUS: 26-Sep-2008.  A lot of stuff probably could be contained in named panels instead of just using plain labels to label groups of items.  Still, a user can fight their way around the installer, but we need to do better.

Orca Script for the Installer

Wizard-style dialogs like the installer present a unique interaction model.  When navigating by keyboard, focus tends to stay on the "Next" button from one page to the next.  Since Orca's primary operating mode is 'focus tracking mode' (i.e., it presents object as they gain focus), Orca is essentially silent for these kinds of dialogs.

PROPOSAL AND WORK NEEDED: create a custom script for the installer where Orca can detect changes to unfocused window content and present salient information automatically.

last modified by admin on 2009/10/26 12:45
Collectives
Project


© Sun Microsystems Inc. 2009
XWiki Enterprise 1.8.2.19075 - Documentation
Terms Of Use | Privacy | Trademarks | Copyright Policy | Site Guidelines | Site map | Help
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.