Accessibility

From OLPC
Revision as of 16:54, 7 June 2007 by Xavi (talk | contribs) (Reverted edits by 62.231.243.137 (Talk); changed back to last version by MitchellNCharity)
Jump to navigation Jump to search

Worldwide need for accessibility support for people with disabilities

Finding good data about disability incidence worldwide is challenging. In America and Europe, we have some general statistics:

  • Half of all disability incidence numbers are from people over 65 years of age
  • Roughly 0.1% of the population is blind
  • Roughly 0.1% of the population has a speech impairment (could benefit from their computer talking for them)
  • Roughly 0.05% of the population is deaf, while 0.2% is hard of hearing

Since we tend to get more disabilities as we age, we would expect these percentages to be lower in children. On the other hand, health issues like West Nile Virus that are a huge cause of blindness (and the altitude in places like Tibet, another cause of blindness) aren't significant issues in America and Europe - so you would expect that the incidence of disabilities in the OLPC markets will be higher.

So, until we get better data, it probably makes sense to adopt as rough numbers for OLPC children the general percentages from America and Europe taken across all age ranges.

This means that if the OLPC project reaches every child (so roughly 1 billion systems), we will need to serve 1 million blind children, and 1 million children who have a speech impairment, and 2 million children who have difficulty hearing.

Accessibility and Assistive Technology

Even in "first world" countries like the USA, Assistive Technology and Accessibility adaptations are expensive. People with physical or mental disabilities are often, due to their disability, in the lowest income classes, and have difficulty affording the technologies required.

In the Open Source Software community, a fair amount of software already exists to aid the disabled. However, they are often not installed or configured by default, and can be extremely difficult to add by a normal user.

Under this area, we should seek to list specifically:

  • What Assistive Technology software packages should be included in the default olpc distribution
  • How they should be configured by default
  • What technologies need to have improved documentation to be useful

Accessibility ideas for the OLPC laptop

For people with physical impairments

Physical impairments range from fairly minor (difficulty using the mouse), to more significant (unable to use a normal keyboard, but still have a fair amount of upper body dexterity), through to being paralyzed from the neck down. Repetitive stress injury is another issue, though incidence of that is currently probably quite low in OLPC's target market.

Roughly 0.2% of the U.S. population has "difficulty using hands and fingers, e.g. to pick up a glass or grasp a pencil". By our logic above, that works out to 2,000,000 target OLPC users

  • OLCP should be fully operable from the keyboard, without requiring the trackpad for operation. Something like a painting program might be an exception; but otherwise, tasks like launching programs and browsing the web and reading a book (and ideally most games) should be fully operable from the keyboard. There should be a visible indication of which object has the keyboard focus (and this visual indication should become more obvious in various themes for vision impairments)
  • OLCP should support the AccessX suite of keyboard enhancements (StickyKeys, MouseKeys, BounceKeys, etc.)
  • OLCP should support external keyboards & mice/trackpad devices
  • OLCP should support an on-screen keyboard (e.g. [GOK]), and likewise support hardware input from switches (USB, but perhaps also inexpensive ones connected via the microphone port), and also head mice (USB, but perhaps also one that uses the built-in camera tracking a reflective piece of clothing or dot pasted onto a persons forehead or glasses)

For people with visual impairments

There is a fairly wide range of vision impairments. They range from the fairly minor (color blindness, or vision that isn't too bad, but no longer 20/20), to pretty significant (18 point text isn't large enough), all the way through to total blindness.

For people with minor visual impairments

  • Sugar and all OLPC application should use a luminosity contrast ratio of at least 3:1 by default; ideally 5:1
  • Color should never be the only indication of something (e.g. using red text to set off something from black text)
  • Sugar should include several "themes" for vision impairments, including several with different contrast settings (e.g. a "high contrast" theme) and large print. All applications should respect these settings. The interface for launching applications should be enlarged in the large print theme (cf. the themes in the default GNOME desktop).

8% of males of European descent have color blindness; 1% of females of European descent. Numbers are lower for Asians and Native Americans; lowest of all for blacks.

  • Web Safe Color recommendations from British Telecom Labs [1] and Visibone.com [2] for 5% of European men with deuteranopia (don't see green) and 1% of European men with protanopia (don't see red). A sample of the differences [3] from BTLabs.

For people with 'low vision'

  • OLPC should support software magnification. Magnification should track keyboard focus and the text input caret. It should also magnify the mouse cursor.
  • Mouse-only enhancement would be useful (mouse-trails & separate mouse cursor enlargement, to help locate the mouse cursor)

Roughly 0.2% of the U.S. population has "difficulty seeing words in newspaper". By our logic above, that works out to 2,000,000 target OLPC users.

For people who are blind (from 'legally' blind through to totally blind)

  • A screen reader which supports text-to-speech and works with all applications (Orca is the obvious choice here)
  • Lightweight text-to-speech in all languages (eSpeak is a good candidate)

Roughly 0.1% of the U.S. population has "Unable to see words in newspaper at all, or self identify as 'blind'". By our logic above, that works out to 1,000,000 target OLPC users.

For people with hearing impairments

The main things we need to do for folks with for hearing impairments are:

  • Not use exclusively audio for getting the attention of a user (e.g. the ShowSounds feature to flash the menu bar / screen during a system beep)
  • Ensure that all media players support captioning, and all media is captioned

But beyond that, thanks to the built-in video camera in the OLPC, we have the possibility of supporting sign language chat. In the BTest-2 systems, using the bulit-in camera application the frame rate seems to be on the edge of good enough for this (in an informal test performed at the CSUN Conference on Technology and Persons with Disabilities). With a promised 30fps frame rate of 640x480 resolution, this ought to work. Further tests need to be carried out over a wireless video chat to be certain.

Roughly 0.2% of the U.S. population either has "difficulty hearing normal conversation" or is "unable to hear normal conversation at all, or self-identify as 'deaf'". By our logic above, that works out to 2,000,000 target OLPC users.

For people with cognitive impairments

The Sugar user interface already addresses many of the needs of people with cognitive impairments. It has very limited use of text, and provides an uncluttered interface. However, there are a number of additional things we can do for folks with cognitive impairments:

  • Provide assistance with reading comprehension via context-sensitive word definitions (ideally of every piece of text on the screen)
  • Provide assistance with text composition via context-sensitive spelling lookup (ideally everywhere that text can be composed)
  • Provide assistance with text composition via context-sensitive synonyms and antonyms (ideally everywhere that text can be composed)
  • Provide reading assistance by optionally reading text aloud via text-to-speech, and further optionally highlighting the words as the are read, synchronized with speech (see TextHelp's Read & Write product family for an example of this from the Windows world, and see Planetread for a similar application for general literacy in India).

Statistics on cognitive impairments are very difficult to come by, as they include such a broad range of needs (e.g. we don't have statistics on things like dyslexia, which would be aided by optional text-to-speech). We do know that roughly 0.1% of the U.S. population either has "has mental retardation, developmental disability, Alzheimer's, or serious problem with confusion/forgetfulness". By our logic above, that works out to 1,000,000 target OLPC users. However, as noted, the number of people who would be aided by these features is far larger.

For people with speech (generation) impairments

There are a variety of conditions that impact someone's ability to speak intelligibly. These include disabilities that impact muscle control of the vocal chords, and various developmental disabilities. Here what would be most helpful is to use the OLPC as a communications device (think of Stephen Hawking). The formal names of this use are "Augmentative Communication" or "Speech Generating Device" (the latter is a U.S. health insurance term). What is needed for this use is:

  • A text-to-speech engine in the user's language (note: this is also needed for blind users)
  • A library of pre-recorded phrases
  • Typically a special "communication" program that allows the user to easily indicate phrases to be spoken
  • Typically a special input device (like a single switch or head mouse, or a special keyboard) so that a user with limited physical dexterity can indicate their choice of phrase

A good example of a powerful augmentative communication device is the tango!, or the line of products from Prente Romich which are purpose-built hardware communications devices.

Roughly 0.1% of the U.S. population either has "difficulty having their speech understood". By our logic above, that works out to 1,000,000 target OLPC users.

Tasks toward making the OLPC accessible

  • We need to define what "accessibility" means in the OLPC context (this is primarily for Sugar, and would likely feed into some place like the Sugar accessibility design guidelines
  • We need to make the GNOME accessibility framework work on OLPC/Sugar, in order to support assistive technologies (right now we have ATK, but AT-SPI depends upon CORBA and Bonobo which are presently too big to fit comfortable in the OLPC hardware envelope). This might mean putting the existing AT-SPI infrastructure on a major diet, or it might mean moving to something like DBUS (which is attractive for other reasons)
  • We need to define & implement a handful of accessible themes for Sugar
  • We need to ensure that Sugar & all OLPC Activities (the concept of "application") implement ATK and work with AT
  • We need to ensure that Sugar & all OLPC Activities support these accessible themes (large print, high contrast, etc.)
  • We need to bring software AT to the platform
  • ...

Miscellaneous software ideas of interest

The following pages in this wiki may be of interest.

XOj in monochrome

Accessibility Computing Numerical Pointer

Resources

Blindness resources

Deafness resources

  • ...

Alternative Input Devices

...