[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Extending accessibility support in D-I for Lenny



Hi All:

It was great to talk with Frans and Wookey about the Debian installer. Thanks much for your time, guys! I'm also very warmed by the fact that you are interested in accessibility. :-)

Willie is the lead man behind ORCA [1], which works with GTK and could thus possibly be integrated in the graphical installer.

You can also read more about it at http://live.gnome.org/Orca.

There are major hurdles to take before we get that far. The main one being that it has fairly heavy dependencies (including python) [2]. However, it looks interesting enough to take a closer look and experiment with it.

Orca uses the AT-SPI to communicate with applications. For the purposes of this discussion, the infrastructure currently looks a bit like this (gratuitous simplification and errors included):

+----------+
|   App    |
+----------+        Application proper
|   GTK+   |
+----------+ ---------------------------------
|   gail   |
+----------+    Accessibility infrastructure
|   atk    |
+----------+
|  bridge  |  ORBit
+----------+
     |
     |  IIOP
     |
+----------+
| registry |  ORBit and Bonobo Activation
+----------+
     |
     |  IIOP
     |
+----------+
|   Orca   |  Python, PyOrbit, PyBonobo, ...
+----------+
     |
     |  IIOP
     |
+----------+
| g-speech |  ORBit and Bonobo Activation
+----------+
|   TTS    |  Vendor-specific engine (festival, espeak, DECtalk, ...)
+----------+

There's typcially only one registry for a user -- all apps and all assistive technologies (e.g., Orca) talk to it. It is typically run automatically via bonobo activation. The assistive technology also runs as a separate process (i.e., it does not run 'inside' the application).

I've been focused primarily on Orca, and I understand the atk/at-spi mostly from the assistive technology side. I've never done a thorough analysis of the complete dependency chain for the infrastructure. My thoughts, however, are to first understand the bigger picture:

* No matter what we do or what technology is chosen, it won't be
  the lightest creature on the planet.

* The target user here is the desktop user doing an accessible
  install on a modern home machine.

* Accessible install is a differentiating feature.  Users with
  disabilities will migrate to a distribution because it supports
  accessible install.  We've seen this with Ubuntu.

Then, I'd like to first understand the impact of the existing technology and see how one can work with it. That is, we need to know for sure the impacts of the existing technology rather than pre-assume failure and reinvent.

Aside from starting small and methodically adding packages until something works, I'm not sure how to go about determining the exact list of dependencies here. Does anyone have a simple way to do this?

Thanks!

Will



Reply to: