Features/AtSpiTwo

From FedoraProject

< Features
Revision as of 01:22, 10 December 2009 by Mclasen (Talk | contribs)

Jump to: navigation, search

Contents

At-Spi 2

Summary

The at-spi accessibility framework gets ported to D-Bus

Owner

Current status

  • Targeted release: Fedora 13
  • Last updated: 2009-12-09
  • Percentage of completion: 10%

Initial packaging has been done for at-spi2-core, at-spi2-atk and pyatspi.

Detailed Description

The current at-spi accessibility framework is based on CORBA and ORBit; technologies which are being deprecated and phased out in the GNOME stack. Some features of CORBA (such as remote reference counting, reentrancy) make the current accessibility support fragile. The Linux Foundation is leading an effort to port th accessibility framework to D-Bus. The new stack is planned to debut in GNOME 2.30.

The current at-spi package is being replaced by three components:

  • at-spi2-core - protocol definitions and registry daemon
  • at-spi2-atk - the atk-bridge GTK+ module
  • pyatspi - Python bindings for at-spi

There is no replacement for the cspi 'C bindings' at the moment. The current users of cspi are being ported to use D-Bus directly (mousetweaks) or replaced (gok being replaced by Caribou). Other components that use cspi and whose status is unknown (to me): dasher.

To make the transition phase less painful, there are some efforts to allow the old and new stacks to coexist. The CORBA-based at-spi stuff will install its atk-bridge module and Python bindings somewhere else, and there will be a desktop file that sets the GTK_PATH environment variable and a pyatspi.pth Python module that sets some Python path. These path-tweaks will be triggered by a GConf key, allowing both stacks to be installed at the same time and allowing users and testers to switch back and forth between the stacks.

Benefit to Fedora

Fedora stays close to upstream in the area of accessibility. Some long-standing problems with the CORBA-based accessibility stack will hopefully be solved as a side-effect of the move to D-Bus. By making the new stack available in parallel to the old one early on in rawhide, we help to provide the necessary testing and feedback to the upstream accessibility developers.

Scope

  • Package at-spi2-core. review
  • Package at-spi2-atk. review
  • Package pyatspi. review
  • Rebuild at-spi with support for parallel installation
  • Package caribou
  • Port cspi users to D-Bus: mousetweaks, dasher

How To Test

  1. . Make sure accessibility support is turned on
  2. . Install at-spi2-core, at-spi2-atk, pyatspi
  3. . Set the GConf key /desktop/gnome/interface/at-spi-corba to false
  4. . Log in again
  5. . Verify that at-spi-registry is not running
  6. . Start an accessibility tool, e.g orca
  7. . Verify that at-spi-registryd2 has been activated
  8. . Verify that speech support in orca works


User Experience

Accessibility tools will work as well as (or hopefully better than) they used to. The onscreen keyboard will no longer be gok, but caribou, which may offer a slightly different user experience.

Dependencies

  • at-spi needs to be rebuilt 'relocation' changes outlined above
  • mousetweaks and dasher need to be ported to D-Bus (upstream)

Contingency Plan

  • Do not install the at-spi2 packages and caribou
  • Don't make them obsolete at-spi and gok
  • Undo the porting of mousetweaks and dasher to D-Bus

Documentation

Release Notes

  • Fedora 13 is one of the first distributions to include the D-Bus-based at-spi2 accessibility framework.

Comments and Discussion