GNOME Accessibility Logo

Get Involved!: There are many ways you can help with GNOME Accessibility, and they include things that non-techies can do, too!

Support the GNOME Project

Become a Friend of GNOME and help the GNOME community continue to provide great free accessible desktop software.

Active Projects

GNOME Outreach Program: Accessibility

A11Y-Love: we need a list currently active projects here and who's working on them. For example, Orca, GOK, AT-SPI over DBus, pyatspi, etc.

Areas Needing the Most Attention

Everything is important, of course, but we cannot do it all at once. Based upon feedback from the community, we've identified these areas as needing the most work right now.

GNOME Outreach Program: Accessibility

The GNOME Foundation is running an accessibility outreach program, offering US$50,000 to be split among individuals. This program will promote software accessibility awareness among the GNOME and broader Free Software communities, as well as harden and improve the overall quality of the GNOME accessibility offering.

The program is sponsored by GNOME Foundation, Mozilla Foundation, Googleâ„¢'s Open Source Program Office, Canonical, and Novell. This is the second in a series of outreach programs coordinated and run by the GNOME Foundation.

GNOME Outreach Program: Accessibility starts accepting applications on March 1st and will run towards the end of the year. There will be two tracks to the program: In the first track accepted individuals will work towards accomplishing one of the major projects nominated for the program, earning US$6,000 and can take up to six months to complete the task. The second track will reward contributors US$1,000 for fixing five bugs out of a pool of accessibility bugs nominated by the program judges.

Individuals interested in participating in the program should check out http://www.gnome.org/projects/outreach/a11y. More information about the program may be found at the same location.

Evangelize

We need more people to spread the word. Include accessibility in your talks! Write more testimonials and case studies.

Bug Fixing

As with any project, there is no shortage of bugs:

Please feel free to 'cherry pick' and help get the bug count down. There are also a number of very specific bugs listed in the GNOME Outreach Program: Accessibility Short Term Tasks. These are the most important and you get a prize if you fix 5 bugs.

Fix Speech

GNOME Speech provides a decent infrastructure for speech synthesis, but it is based upon the out-of-fashion ORBit/Bonobo platform, which essentially binds it to GNOME. It is also fraught with the problem of being dependent upon the speech synthesis engine (e.g., festival, eSpeak, DECtalk, Cepstral, Loquendo, etc.) to manage the speech output and other tasks such as verbalized punctuation. It can also contend for speech resources, competing with other things such as emacspeak and speakup.

Based upon real world use via Orca, and based upon feedback from end users and operating system integrators, the general belief is that gnome-speech may have reached the end of its useful life. We need someone knowledgeable in the space to create a speech solution that can do the following:

The person doing the work should also provide a migration path away from the current gnome-speech solution to the new solution (e.g., "how will it work with Orca?") and get buy-in from at least the GNOME community that this will be a supported solution. A possible starting point might be Speech Dispatcher, though existing concerns with quality, configuration, and feature completeness need to be addressed.

Fix Linux Audio

This Quixotian Quest involves working with all Linux distributions to come up with a common audio solution that meets the requirements of the assistive technology user. This includes fast response times, automatic audio mixing, resolving issues with device contention, allowing users to select which audio devices are used for speech vs. other audio playback, etc.

Develop an 'Uber GOK' Project (Alternative Input Solutions)

The GOK maintainers are looking for help and are also interested in migrating GOK (or GOK ideas) to Python. There are also additional ideas for enhancements and additional features to support a wider range of users. This task is to help organize those ideas into a project plan and prototype for an "Uber GOK". This proposal should include the development of Personas, user requirements, and design for the project. The work should involve the creation of an "on screen keyboard" community. The personas and requirements will be developed as a result of direct interaction with end users in this community.

This should provide 1st class access to people who don't use mouse or keyboard or need tweaks to them to support poor motion control (e.g sticky keys, delay click, dwell select). This covers people with physical disabilities and aging population. Should be available out of the box and also work on thin client (implies good X support). It should support text input, application control, overlays (manual and UI grab), direct in app control, attractive visuals (e.g SVG), multimedia 'selection sets' for education, editor, shared resources/community.

Starting points include OnBoard and Jambu, but should also incorporate the following ideas:

Improve efficiency of the GNOME desktop for people who can move the pointer, but cannot use a hardware keyboard

The MouseTweaks assistive technology allows the user to invoke mouse button actions via mouse movement alone. This gets us some fundamental support for users who can only move the mouse, but more is needed. Here are the features that an efficient onscreen keyboard should probably have to provide:

See also OLPC's Line-Based Interface work.

Hardware Integration - PnP support of alt input devices

Make on-screen keyboard switches "just work". For example, for usb switch hardware, work on hardware recognition (plug and play), probably to use vendor and product ID, as this hardware usually masquerades as keyboard and/or mouse switches. Include: switches, joysticks (switch and continuous), graphics tables, touch pads etc. Need a test panel and easy config UI (e.g the Windows Games controller in control panel). Suitable devices should be usable as the X pointer controller. Thin Client support. In general, this can also be writing UNIX drivers for AT hardware such as the inexpensive head mice that are available.

Cheap Head Mice

Do research and development into inexpensive 'head mice' that might be able to take advantage of built-in cameras on some machines or low cost add on cameras. This breaks down into head and eye tracking. It might be possible to get good results with visible spectrum cameras which are cheaper than Infra Red solutions (see lightweight eye tracker for a hack). Also see OpenGazer and MouseTrap for software gaze-tracking with a normal webcam.

NOTE: The MouseTweaks project is working on providing this solution.

Dyslexia and Learning Disabilities

Task: research and development into solutions for people with dyslexia and/or learning disabilities. The Windows state of the art here is Read & Write Gold from TextHelp Systems, Inc.. There is also WYNN (What You Need Now). Language support is also generally useful in education.

NOTE: There has been interest from community members to modify Orca so that it can be used for this purpose. Some of the work includes restricting what Orca speaks as you tab around and also incorporating better highlighting support.

Magnification

Task: improve the magnification support. See the GOPA task for magnification which is currently being worked on.

NOTE: The AEGIS work may also include a magnification component that can build on the GOPA work.


Additional Ideas

This section contains a list of all the ideas we've come across to date, not including the ones mentioned above.

GPS

Task: GPS system support, integration (with speech, Braille, Magnification). The Geoclue folks might have something. Also look to something similar to Humanware's GPS Solutions (e.g., Trekker) on a Maemo or OpenMoko (e.g. Navit) or Loadstone GPS. See discussion on gnome-accessibility-list.

VoIP/Skype

Task: develop an accessible VoIP solution (e.g., make Skype accessible)

Flash/Firefox

Task: Implement support for accessible Flash content. (See WebAIM's overview among others.)

MathML/Firefox

Task: Look at making MathML accessible

Database/SQL

Task: Look at database accessibility. Look at phpMySql, Aqua Data Studio for more information.

Document Content Authoring Assistance

Task: work with ODF, PDF, etc., content creators to incorporate accessibility checking into document. ""This document is inaccessible. You can't save it until you make it accessible."

IDEs (NetBeans, Eclipse, Forte, Anjuta, etc.)

Task: Work with IDEs to help encourage good accessibility programming

Bugzilla

Task: Work with Bugzilla team to make the content more accessible/navigable by people with disabilities

Webkit Accessibility

Webkit is turning out to be the latest hotness in HTML/CSS rendering. A lot of GNOME modules, like Yelp and Epiphany are flirting with the idea of switching to Webkit for rending HTML content. Other programs like Liferea might follow suite. There is also talk of bundling Webkit with GTK+. While a lot of work has gone into Firefox a11y, specifically in enabling web applications to be accessible via live regions, the initial work on Webkit needs to be fairly basic - exposing the document model via AT-SPI. This will allow programs like Yelp to use webkit and continue to be accessible. Of course as full featured browsers like Epiphany utilize Webkit, a more comprehensive a11y solution will need to be put in place, similar to Firefox 3.

References:

Small/Embedded Devices

Task: Investigate GNOME accessibility on OLPC and other embedded systems (e.g., OpenMoko). What are the platform requirements? What are the dependencies? What will it take to get it to work? These devices have the potential to make effective communications aids for AAC. We could make a great open accessible 'appliance' using the ASUS eee PC + Ubuntu-eee or other UMPC and distro.

Bookshare Reader for UNIX

Task: create a Bookshare reader for UNIX. This could be a UNIX edition of something like the Victor Reader Soft software Bookshare (and DAISY) reader. There is a binary unpack tool for Bookshare for Linux.

NOTE: Benetech is being funded by the Mozilla Foundation to create a DAISY Renderer for Firefox. One of the AEGIS deliverables may be a DAISY content generator for ODF (e.g., "Export to DAISY..." for OpenOffice).

DAISY Reader

NOTE: Benetech is being funded by the Mozilla Foundation to create a DAISY Renderer for Firefox. One of the AEGIS deliverables may be a DAISY content generator for ODF (e.g., "Export to DAISY..." for OpenOffice).

RFB&D Media Reader

Task: create a RFB&D media reader.

Text mining features

Task: develop a text mining library for summarizing texts, discovering the structure of a raw text (headers, paragraphs) and more generally speed up access to information.

Word Prediction/Completion Service

Task: create a component or system service to supply word prediction to various editing applications. Common dictionary is better than separate one for each program. Useful for LD and OSK, speech and general input. This could be a new D-Bus system service, for example.

Closed Captioning (CC)

Task: develop or document existing solutions for adding closed captioning to media. See the discussion on gnome-accessibility-list.

NOTE: the UK has 'subtitles' which may or may not be very similar.

NOTE: we also need other projects for people with hearing impairments.

OCR

Task: create a high quality OpenBook (unbound) software equivalent. This is a self-voicing OCR package that automatically reads text to you, or works with your screen reader. See a recent thread on Blinux. Tesseract, in particular, seems to be popular. Cuneiform also seems to be emerging.

See also http://members.iinet.net.au/~ddalton/projects/ocr/howto_configure-ocr_linux.html

Speech Synthesis (TTS)

There are a number of open source speech synthesis engines, such as Festival, Flite, FreeTTS, gnuspeech, and eSpeak.

Task: work on high quality text-to-speech in many languages. The more viable approach may be to work on localization of eSpeak for your favorite locale(s).

Speech Recognition (ASR)

The end goal is to get a speech recognition engine similar to Dragon Naturally Speaking, a dictation and command-and-control application and ASR engine. As such, this can be two tasks:

See simon, Sphinx-4 and OSSRI as potential starting points. Note also that there have been reports that Dragon Naturally Speaking seems to be working OK now under wine, so that might be an alternative as well.

Alternately, check how tonguing or other elementary sounds could be helpful as a complementary input method to speech (e.g. in a noisy environment). Read as example this publication by Takeo Igarashi and John F. Hughes: Voice as Sound: Using Non-verbal Voice Input for Interactive Control.

Duxbury Equivalent

Task: create Duxbury equivalent. This is end-user software that takes text in a variety of formats (e.g. UNICODE, ODF) and turns it into Braille format for printing and other uses (BRF). See also TurboBraille. Would be good to create a standard API for communicating with Braille translation and formatting engines.

Braille Editing in OOo

Task: provide braille editing capability inside Open Office. This will allow users to flip back and forth between a print and braille view of the same document, editing in either form. A standard API for communication with braille translation and formatting engines as described in the previous item would be useful for this. Various engines could be used together within the same document, for different kinds of content, such as mathematics and different languages. The same engines could be reused by various editors that support braille, etc.

Drivers for Braille Embossers

Task: create drivers for a variety of braille embossers. Should consider working with ONCE on this since they already are working on drivers for Impacto, Porta-thiel, BetaX3 and Vax. Also see liblouisxml/xml2brl/tiger from http://www.jjb-software.com/index.html. Should probably find its way in CUPS.

NOTE: Orca supports liblouis.

TTY Interface

Task: create a TTY interface to talk with Baudot, and new TTY (also IP/TTY interoperability)

Haptics

Task: Use Haptics as user input. Determine what can be legally developed (e.g. search the web: "haptic patent portfolio").

Tactile Graphics

Task: create/use tactile graphics software that makes use of tactile graphics to convey information to people with visual disabilities. See John Gardner's Resource Guide.

Usability Testing

Need end user usability testing and usability studies of GNOME accessibility by people with disabilities. Brette Luck w/Novell and Dave w/ITD may be willing to help with this.

Additional Documentation

Accessible Login

Task: get Accessible Login enabled by default on all distributions. Make the presence of AT visible at the login screen: for example currently, it is possible to start gok with a mouse gesture. But GNOME users will not know about it unless they dive into the documentation about the assistive technologies. See bug 463713 and the passing of activated ATs to the GNOME session might also be of interest.

NOTE: The RedHat folks have done some work in this space for GNOME 2.24.

IDEs

Task: provide code authoring assistance in IDEs such as NetBeans, Eclipse, and Forte to encourage good accessibility programming.

Testing

Task: see the GOPA Testing Task.

R&D

Research and development projects should explore innovative ways to improve accessibility and usability of upcoming and existing technologies. Some activities include:

  1. Staying abreast of trends in technology to ensure GNOME accessibility is prepared to handle the "next big thing."
  2. Making sure infrastructure work doesn't preclude advancement.
  3. Brainstorming / developing improvements that push the envelope in the user experience.

University GNOME-based A11y Research Projects

Brett Clippingdale at the University of Michigan, Ann Arbor: intelligent, adaptive user interfaces, particularly for the elderly and/or users with disabilities.

@todo: get more university projects using GNOME listed here


CategoryAccessibility

Accessibility/GetInvolved (last edited 2009-06-25 10:21:22 by DaveNeary)