From Fedora Project Wiki
 
(18 intermediate revisions by 3 users not shown)
Line 9: Line 9:


== Current status ==
== Current status ==
* Targeted release: [[Releases/13 | Fedora 13 ]]
* Targeted release:  
* Last updated: 2009-12-09
* Last updated: 2010-02-03
* Percentage of completion: 10%
* Percentage of completion: 50%


Initial packaging has been done for at-spi2-core, at-spi2-atk and pyatspi.
Initial packaging has been done for at-spi2-core, at-spi2-atk and pyatspi.
The packages have been updated to the 0.1.4 releases, and can now coexist with
the old accessibility stack, with runtime switching between the two.
at-spi2-core, at-spi2-atk and pyatspi2 have been built for F13.
caribou is under review.
This feature is being subsumed by the larger [[Features/Gnome3 | GNOME3]] feature, and will not be tracked as a standalone feature any longer.


== Detailed Description ==
== Detailed Description ==
Line 24: Line 33:
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 [http://live.gnome.org/Caribou Caribou]). Other components that use cspi and whose status is unknown (to me): dasher.
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 [http://live.gnome.org/Caribou 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.
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. [https://bugzilla.gnome.org/show_bug.cgi?id=606251 bug 606251] has more details.


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 30: Line 39:


== Scope ==
== Scope ==
* Package at-spi2-core. [http://bugzilla.redhat.com/show_bug.cgi?id=544628 review]
* Package at-spi2-core. [http://bugzilla.redhat.com/show_bug.cgi?id=544628 review]. Done
* Package at-spi2-atk. [http://bugzilla.redhat.com/show_bug.cgi?id=544629 review]
* Package at-spi2-atk. [http://bugzilla.redhat.com/show_bug.cgi?id=544629 review]. Done
* Package pyatspi. [http://bugzilla.redhat.com/show_bug.cgi?id=544630 review]
* Package pyatspi. [http://bugzilla.redhat.com/show_bug.cgi?id=544630 review]. Done
* Rebuild at-spi with support for parallel installation
* Rebuild at-spi with support for parallel installation. Done
* Package caribou
* Package caribou. [http://bugzilla.redhat.com/show_bug.cgi?id=561225 review].
* Port cspi users to D-Bus: mousetweaks, dasher
* Port cspi users to D-Bus: mousetweaks, dasher


Line 43: Line 52:
# Log in again
# Log in again
# Verify that at-spi-registry is not running
# Verify that at-spi-registry is not running
# Start an accessibility tool, e.g orca
# Start orca
# Verify that at-spi-registryd2 has been activated
# Verify that at-spi-registryd2 has been activated
# Verify that speech support in orca works as it does with the old stack
# Verify that speech support in orca works as it does with the old stack
Line 66: Line 75:


== Release Notes ==
== Release Notes ==
* Fedora 13 is one of the first distributions to include the D-Bus-based at-spi2 accessibility framework.
* Fedora 14 is one of the first distributions to include the D-Bus-based at-spi2 accessibility framework.


== Comments and Discussion ==
== Comments and Discussion ==
* See [[Talk:Features/AtSpiTwo]]  
* See [[Talk:Features/AtSpiTwo]]  


[[Category:FeatureReadyForWrangler]]
[[Category:FeaturePageIncomplete]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 23:11, 22 June 2010

At-Spi 2

Summary

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

Owner

Current status

  • Targeted release:
  • Last updated: 2010-02-03
  • Percentage of completion: 50%

Initial packaging has been done for at-spi2-core, at-spi2-atk and pyatspi. The packages have been updated to the 0.1.4 releases, and can now coexist with the old accessibility stack, with runtime switching between the two.

at-spi2-core, at-spi2-atk and pyatspi2 have been built for F13.

caribou is under review.


This feature is being subsumed by the larger GNOME3 feature, and will not be tracked as a standalone feature any longer.

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 the 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. bug 606251 has more details.

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. Done
  • Package at-spi2-atk. review. Done
  • Package pyatspi. review. Done
  • Rebuild at-spi with support for parallel installation. Done
  • Package caribou. review.
  • 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 orca
  7. Verify that at-spi-registryd2 has been activated
  8. Verify that speech support in orca works as it does with the old stack

Repeat these steps with other accessibility technologies

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 14 is one of the first distributions to include the D-Bus-based at-spi2 accessibility framework.

Comments and Discussion