Accessibility is overlooked by many people because they think that it doesn’t affect them. But as Jonathan Snook points out, "accessibility is a spectrum. On one end, there are those with severe cognitive and/or physical disabilities; on the other end... well, what is the other end? People who wear glasses, or are color-blind? What about those who choose to use the keyboard instead of a mouse? Where does one draw the line?" Over time, almost all of us will require assistance of some kind to be able to make full use of our computers and devices.
Making sure that our technology is accessible is not only the right thing to do but is essential for our success. GNOME has prioritized accessibility since the early days, following a "built in" rather than "bolted on" development model. Because of this commitment, along with the efforts of many dedicated developers, GNOME 2 became an award winning, free and accessible desktop environment.
GNOME accessibility tools
The Accessibility ToolKit (ATK) defines a set of interfaces that must be implemented by all graphical toolkits that want to be accessible. Of course, the GNOME graphical toolkit, GTK+, has a built-in ATK implementation, but other toolkits do it as well like Java/Swing and SWT, OpenOffice/LibreOffice, Mozilla’s Gecko, Clutter and WebKitGTK+.
The Assistive Technology Service Provider Interface (AT-SPI) is an accessibility framework that defines a protocol for providing and accessing application accessibility information. The current version, AT-SPI2, includes a library for bridging the D-Bus protocol to the ATK API and an accessibility client side library in C and Python. This architecture has proved in the years past to be successful and recently Qt has created a bridge to AT-SPI2. The Qt Accessibility plugin exposes the internals of a Qt application to interested accessibility clients.
Orca is the most popular free accessibility client so far. Orca is a free, open source, flexible, and extensible screen reader that provides access to the graphical desktop via user-customizable combinations of speech and/or braille. Orca has a very lively community of users and contributors all around the world. But there are also other accessible applications worth mentioning such as:
- Caribou is an on-screen accessible keyboard solution that is the base for the on-screen keyboard built into GNOME Shell.
- The built-in GNOME shell magnifier currently offers basic zoom features. But there are clever lightness, brightness, and contrast effects in development to be released soon.
- Dasher, an efficient alternative text-entry system wherever a full-size keyboard cannot be used, for example, with a joystick or an eye tracker system.
- Dots is a braille translator of documents though is still in its early stages of development.
GNOME accessibility contributors
In 2010, Oracle acquired Sun Microsystems and in that transition GNOME lost full-time developers working on Orca and ATK. Since then, the accessibility effort has been driven mainly by volunteers lead by Alejandro Piñeiro, from the free software specialised company Igalia, who has been working hard in the ATK implementation of GTK+ and Clutter, and Joanmarie Diggs, famous for her brilliant work as Orca maintainer, recently hired by Igalia.
Other core developers are: Mike Gorse, a SUSE employee who maintains AT-SPI2; Joseph Scheuhammer from the IDRC, who develops the GNOME Shell Magnifier, supported by the Ontario Ministry of Economic Development and Innovation and the ÆGIS Ontario and ÆGIS Europe Projects; Benjamin Otte from Red Hat, who cares about accessibility issues of GTK+; and Mario Sánchez from Igalia who works in WebKitGTK+ accessibility. Other developers like Eitan Isaacson and Fernando Herrera, currently enrolled in Mozilla, have been involved all these years and made several important contributions to accerciser, Caribou and Dots, to name a few.
The funds for the accessibility effort in recent years have come from the GNOME Foundation, donations from the always-supportive Mozilla Foundation, and from the partnership of the Brazilian organizations F123.org and Mais Diferenças. The Guadalinfo Accesible project from the Fernando de los Rios Consortium in Andalusia (Spain) contracted some local companies like Emergya, Yaco, Onírica or Warp to work on some accessibility features that eventually resulted in new developers to the project, like Alejandro Leiva and Javier Hernández from Emergya.
Funding GNOME usability, accessibility
With the advent of GNOME 3, GNOME has started down an exciting new path in usability, which includes users of all ages and abilities. This drive is not only necessary for those with disabilities but it's also increasingly needed to make new devices work for any user and open the door for new and alternative ways of interacting with the desktop. In fact, usability and accessibility have much in common. Some issues are clearly related to accessibility; some are clearly related to usability; but many things are in a grey area where accessibility and usability overlap. It is only when a product is totally accessible that it is truly usable. We have lot of work ahead of us to make sure GNOME is what we strive for it to be - a great desktop usable by all.
The accessibility solution developed by GNOME has been adopted by other free desktop environments like Xfce, Unity or KDE. Accessibility is an important issue to address and cross-desktop collaboration is a real win-win approach. This means that many GNOME accessibility improvements will benefit not only GNOME users, but free desktop users in general. I think is worth mentioning Frederik Gladhorn from Nokia for his great work on the Qt bridge to AT-SPI2. Thanks to this collaboration, Orca users will be able to access not only GNOME/GTK+ applications, but also KDE/Qt applications.
The GNOME accessibility team is working hard, but its resources are more limited than in the past. For this reason, the GNOME Foundation started a Friend of GNOME campaign that is drawing to a close to help to tackle the accessibility team’s many goals. In the next GUADEC they will organize an unconference called A11yCamp where it will be discussed how best to allocate these funds. However, the main goal of the A11yCamp is to help to solve accessibility issues that the participants bring to the event. In the same way accessibility is a spectrum, we all can help to make it happen.
We hope that with progress on accessibility that Free Software can bring modern computing to people around the world regardless of race, class, creed and abilities.
About the author: Juanjo Marin is a software engineer focused on public administration. Currently he works as System Administrator/Branch IT Manager for the Junta de Andalucía in the Department for Culture and Sports in Cádiz (Spain). He's also a Free Software advocate and he participates in several FLOSS activities. He collaborates in several areas in the GNOME Project including marketing, accessibility and some programming.