[Kde-accessibility] [Accessibility] Re: D-Bus-based accessibility API

Bill Haneman gnome at billhaneman.ie
Tue Aug 21 10:58:57 PDT 2007

Willie Walker wrote:
> ...
> I think we need to tease apart what people mean by "Bonobo".  The AT-SPI
> infrastructure has two main components:  the activation/discovery of
> clients and services and the communication between the various
> components.  Bonobo is used for the activation/discovery and CORBA is
> used for the communication.
Actually the situation is a little more complex - but it's very 
important that everyone realize that Bonobo does not equal CORBA.  
AT-SPI as it exists today does require CORBA, but the Bonobo dependency 
has greatly withered and is now all but eliminated *in principle*.

AT-SPI still links to and uses libbonobo-activation and libbonobo,  but 
this is largely to satisfy GNOME's own internal bincompat guarantees.  
 From a functional point of view, the remaining Bonobo dependencies in 
AT-SPI fall into three categories:

1) deprecated stuff - APIs and implementations which have been 
superceded by mechanisms without the old Bonobo dependencies;

2) trivial stuff, i.e. BonoboUnknown, whose three interfaces can easily 
be either reimplemented without libbonobo or fixed via a cut-and-paste 
of a couple of hundred lines of code into AT-SPI's codebase.

3) BonoboObject dependencies in libcspi.  The cspi interface is not used 
by current Python clients and can, if desired, be rewritten to work 
without libbonobo. 

The third one is the most work, but it the least interesting/important 
since AT-SPI can be used without cspi and non-cspi clients are already 

The only reasons I didn't do this work when I did the modifications to 
discovery via DISPLAY (as mentioned by Will below) were time (of course) 
and the bincompat requirements of GNOME.  Fixing it involves some 
#ifdefs, a little refactoring, and some testing.

Best regards,

> Recent work on making all clients on a user's display visible to
> assistive technologies (see
> http://bugzilla.gnome.org/show_bug.cgi?id=163132), has laid the
> groundwork for eliminating the Bonobo dependency.  In a discussion with
> Bill Haneman last week, it seems as though we can get rid of Bonobo
> altogether, leaving us with just CORBA.  I've informally proposed
> eliminating the Bonobo dependency altogether for GNOME 2.22, and the
> response is positive so far.
> In any case, the introduction of IAccessible2 as well as Trolltech's new
> API, combined with the desire for cross platform applications and
> toolkits to have good support for accessibility, has served to help
> create a disruptive moment for us to take pause and discuss.
> Maintenance of code to handle cross platform accessibility is a
> reasonable concern.  As I understand it, Mozilla is handling it by
> providing an accessible core with thin IAccessible2 and ATK wrappers.
> Back to hammering away on Orca with me.  People are really liking the
> fact that it works and is providing usable access to a free and open
> source desktop _today_.
> Will
> _______________________________________________
> Accessibility mailing list
> Accessibility at lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/accessibility

More information about the Accessibility mailing list