|
|
Subscribe / Log in / New account

Development

GNOME plans an accessibility push for 2012

December 21, 2011

This article was contributed by Nathan Willis

GNOME's accessibility efforts took a serious hit in 2010 when Oracle acquired Sun and cut developer jobs from Sun's Accessibility Program Office (APO). The APO had been home to full-time developers working on GNOME accessibility components like the Orca screen reader and the Accessibility Toolkit ATK. The GNOME Foundation is preparing a major accessibility push in 2012, beginning with a fundraising campaign that will direct donations towards needed development tasks.

Because of the APO layoffs and the amount of time and effort required to release GNOME 3.0, many of the outstanding accessibility tasks were falling through the cracks. Some modules and changes had to be dropped, and some bugs and new work had to be pushed back. GNOME held an accessibility hackfest in March 2010 to reorganize the effort.

Making 2012 the year of accessibility

Eventually, others in the GNOME ecosystem took up some of the slack, however, including open source consulting firm Igalia, and developers from other Sun/Oracle offices. In an effort to further accelerate development, the GNOME Foundation is making accessibility the focal point of a new fundraising campaign, run through the foundation's "Friends of GNOME" (FoG) program.

FoG allows individuals to make monetary donations in one-time or recurring monthly amounts. The new FoG site highlights the importance of accessibility, linking to a testimonial from Robert Cole, an IT student with a significant visual impairment. It also lists six areas where the GNOME Accessibility Team wishes to target development resources.

First, the team wants to alleviate the performance hit that comes with running Orca or other assistive technologies, having noticed that sessions slow down whenever the assistive technology component is running, even if the application is not being used. Certainly some amount of overhead is to be expected when running an application like Orca, but the noticeable even-while-not-in-use performance degradation is frequently cited by third-party developers as a reason for not adding ATK support to their applications.

There are also three applications that need specific feature work. One is adding cursor- and focus-tracking to GNOME Shell's built-in Magnifier, so that users do not need to manually move the magnified region while working. Another is adding awareness of document structure and formatting to the Evince PDF reader and the Poppler library that powers it. This amounts to making rich-text features available to a screen reader, so that it could move between headings or simply announce structural markers and formatting, rather than reading the text in "flat" form. A third is adding accessibility features to WebKitGTK+, which is the HTML component used by the GNOME help system and which may be incorporated into future versions of the Evolution mail client. Finally, there are project maintenance tasks needing work, such as improving accessibility regression-testing tools, and fixing a list of outstanding GNOME 3 accessibility bugs.

Although that might sound like a long list, it still takes up only a fraction of the overall GNOME accessibility roadmap. GNOME Foundation Executive Director Karen Sandler said in an email that although the dates have slipped since the roadmap page was first written, its status information is current, and still reflects an up-to-date look at the project's accessibility progress.

Accessibility hackfest

One item from the roadmap will be the subject of an accessibility hackfest to be held at Igalia's offices in A Coruña, Spain from January 18-22, 2012: augmenting ATK and ensuring that it is consistent across toolkits and applications. ATK is a set of interfaces that toolkits implement to expose the contents of GUI components in a standardized way, thus allowing accessibility tools (like Orca) to read and manipulate them. Each GUI toolkit — GTK+, Clutter, Mozilla's Gecko, etc. — builds its own implementation of ATK. The trouble comes when they do not all implement ATK in exactly the same way, such as emitting different signals for the same event.

Orca maintainer Joanmarie Diggs, who is now an Igalia employee, said that this inconsistency is

largely the result of lack of documentation of the accessibility APIs. After all, one cannot expect cross-toolkit consistency if exactly what is expected of them is not stated clearly and/or the documentation leaves too much up to implementer interpretation. Nonetheless, the end result of the inconsistencies is that an AT [Assistive Technology] such as a screen reader must do toolkit specific handling, which is less than ideal.

Improving the ATK documentation so that it serves as a better guide for developers is one of the hackfest's primary goals. Developers from the GTK+, Qt, and Mozilla projects are already confirmed to attend. Qt, it should be noted, does not use ATK directly, but rather interfaces directly to the underlying Assistive Technology Service Provider Interface (AT-SPI).

The other side of the ATK-augmentation coin is seeing where it makes sense to extend the ATK API itself. The roadmap document lists several issues, including adding additional information to certain events and objects. Diggs gave three examples: selection, text attributes, and table cells. Currently, she explained, when an application changes the selected region (expanding it or shrinking it), ATK only informs the screen reader that the selection has changed, not what letters or words were added or de-selected. Similarly, document editors do not send formatting information (such as the "bold" or "italicized" state of text) to accessibility applications, which makes editing difficult. In both cases, she said, the application already has the information in question, it just needs a mechanism to send it via ATK. Finally, table cells have their own set of problems, starting with the fact that a cell cannot report its row-and-column position via ATK. Diggs is quick to point out that these issues do not constitute design flaws in ATK, but areas for improvement that have come out of several years of real-world use.

The list of topics for the hackfest also includes completing ATK's GObject introspection work, reviewing ATK usage in newer toolkits such as GNOME Shell's "ST" toolkit, and examining bindings for languages that do not use GType, such as C++ and Java.

Up next

During the FoG accessibility campaign, all one-time donations will be earmarked by the GNOME Foundation specifically for accessibility work, as will the first month of all new subscription plans. Sandler said that the campaign would not last for the full 2012 calendar year, although it does not currently have an end date announced. "We wanted to get it going now, though," she added, "so that folks can donate and see their tax deductions this year, if that applies to them."

The hackfest is open to any interested attendees; developers who plan on participating can add their names to the event's planning page on the GNOME wiki to indicate their intent. Although a schedule for the rest of the year has not been established, there is certainly no shortage of work needing attention. Accessibility improvements ultimately benefit all users; as Alan Coopersmith pointed out on the GNOME Marketing list, former "accessibility only" projects like speech recognition and on-screen keyboard technology are now indispensable parts of the mobile computing experience. But, even though everyone's eyesight will decline over the years with age, making software accessible today will obviously have a greater — more immediate — impact for those users who happen to have visual, auditory, or motor-control impairments.

Comments (none posted)

Brief items

Quotes of the week

Note that only a witless moron could ever actually be confused (rather than simply annoyed) by "1 files". Unfortunately, we actually deal with these witless morons on a daily basis: they're called computers.
-- Matt Mackall

I think GNOME should really think about what is good for itself, not how to keep the peace. Effectively, KDE has a lot more to gain from a combined conference than GNOME has, the benefits of a joined conference are very unbalanced. I strongly believe GNOME should focus on what is good for GNOME, and much less on what is good for whatever else exists in the Free Software world. Our interest should be GNOME, and making GNOME great, and not at all making KDE great too, and Enlightenment, and whatever else exists.

I'd even go further than this: I believe one of the goals of GNOME should be to emphasize vertical integration (i.e. considering integration of our stack, the GNOME OS a core objective), but encouraging multiple variables on top of this stack makes that much more complex. I think it is against our interest encouraging KDE and other desktop environments.

-- Lennart Poettering

We will not stop telling the world that we were the primary contributors and inventors of OpenOffice.org. The development team in Hamburg created it -- with the help of the OpenOffice.org community -- and is happy to continue developing it. I don't think that this is confusing users. It's the truth. The ASF should use this as a weapon not as a threat. We will also defend ourselves against malicious gossip or suspicion -- same like the ASF does.
-- Götz Wohlberg for Team OpenOffice.org

Comments (15 posted)

Amarok 2.5 released

Version 2.5 of the Amarok music player has been released. The headline features are GPodder.net podcast synchronization, a reworked USB mass storage module, and integration with the Amazon.com music store.

Comments (28 posted)

JACK 1.9.8 released

Version 1.9.8 of the JACK audio connection kit has been released. It features much improved MIDI support and a lot of other improvements. Note that this is the JACK2 version of JACK, written in C++; it differs entirely from JACK1. There is currently a busy discussion on the JACK list about how these two versions might be reconciled into a single version, but there are not, yet, a whole lot of conclusions to report.

Full Story (comments: none)

Qt 4.8.0 released

Version 4.8.0 of the Qt toolkit has been announced. Significant changes include a new platform abstraction layer to make portability easier, threaded OpenGL support, multi-threaded HTTP, and a reworked (faster) filesystem I/O layer. Some more information can be found in this blog post.

Comments (none posted)

Razor-qt 0.4 released

Razor-qt is "an advanced, easy-to-use, and fast desktop environment based on Qt technologies. It has been tailored for users who value simplicity, speed, and intuitive interface." The 0.4 release is available; it adds a new application launcher, better removable media support, new configuration utilities, and more.

Comments (48 posted)

Newsletters and articles

Development newsletters from the last week

Comments (none posted)

Blender 2.61 released with GPU based rendering and motion tracking (LGW)

Libre Graphics World has posted a video-heavy look at Blender 2.61 which, it says, is one of the most important Blender releases ever. "Top reason is, of course, Cycles, the new hardware accelerated rendering engine. Cycles can use both CUDA (preferred for NVidia) and OpenCL (naturally, AMD/ATI), but will work on CPU too. That imposes dramatic changes to workflows, even though Cycles is not quite complete yet."

Comments (1 posted)

Cracks in the Foundation (PHP Advent)

The 2011 PHP Advent site has an article by Gwynne Raskind on the challenges facing PHP and how they are being addressed. "PHP has always been an evolving, almost-organic language. It has been rewritten from the bottom up at least four times, with massive internal changes to the engine at least twice more. Through all these mutations, however, its external interface - the language itself - has remained quite similar for a long time. Nearly everything that can be pointed to as different between PHP 3 and PHP 5.4 is an addition or extension to the language, not a change in existing behavior. There are exceptions, such as the new object model, but by and large, a PHP coder looking at PHP 5 code will be able to make complete sense of PHP 3, and vice versa. All of these versions share one flaw: there is no single specification of the language!"

Comments (95 posted)

Page editor: Jonathan Corbet
Next page: Announcements>>


Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds