Re: Extending accessibility support in D-I for Lenny
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 , 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) . 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
| registry | ORBit and Bonobo Activation
| Orca | Python, PyOrbit, PyBonobo, ...
| 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
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?