[Kde-accessibility] OpenOffice and KDE4 Accessiibilty [was: Orca/KDE Integration]

Éric Bischoff ebischoff at nerim.net
Fri Sep 8 15:53:05 CEST 2006


Hi Bill,

> When you mentioned that Java and GTK+ were "frightening you", I took
> that to possibly mean that you thought ATK implied GTK+.  I think we're
> "on the same page" now.

Sure ;-). Sorry if I had not been more clear earlier...

> You also say "dependencies are evil" but then again code sharing and
> interoperability are good.  If you want to interoperate with anything
> other than your own program, you have to accept dependencies.

Dependancies related to the problem, yes.

> "KDE-only" installations do exist of course.  But the majority of KDE
> installations are not so pure, and I daresay the majority of disabled
> users won't care about purity; they will of course care about
> performance and function , so one should be very conscious about the
> dependencies one accepts.  It is however a tradeoff.  It would be
> useless to blind users, for instance, to have an "accessible KDE
> desktop" with no gnome dependencies while the existing screen readers
> all link to Gnome libraries.
>
> What I have the most doubts about is whether maintaining the "two of
> everything" approach that has characterized the Free Software desktop
> throughout the KDE/Gnome epoch makes good sense for these complex
> assistive technologies.  I understand the desire of KDE developers to
> ensure that all these features work in all KDE deployments, but it means
> dilution of effort.  I can speak from the experience of doing this in
> Gnome for six years, that it is far from easy, and I would be willing to
> bet that it will take much longer than you imagine.

OK.

> For this reason I think KDE developers and KDE users will both get the
> most value out of reusing key parts of the existing "gnome
> accessibility" codebase now, with the goal of moving as much as possible
> to a shared codespace with reduced, shared dependencies later.

The good thing would have to think about this problem *before* writing ATK...

Technical question: how much of GNOME does ATK need? Would that be easy to get 
rid of it?

> For 
> example, the pango dependency in ATK is nearly trivial and could easily
> be removed, and various ways in which any ORBit2, Bonobo, or even CORBA
> dependencies in orca, gok, and at-spi could be eliminated are under
> active discussion.

DBus is probably at the center of those discussions? ;-)

> ATK's only "gnome-ish" dependencies are glib/gobject (which are not
> separable,  the two are part of the same package) and pango.  cairo is
> not a dependency, nor is the gnome filesystem,

These are second-degree dependancies, i.e. dependancies induced indirectly by 
glib and pango. And these in turn induce third-degree dependancies...

In fact, when I see some software that needs pango, I usually stop installing 
it, because there are good chances that it will pull half of GNOME behind it. 
If GNOME users read this, please take no offence, I am sure that you hesitate 
a lot before installing something that has "kdelibs" as a dependancy. It's 
the same. That's normal, it's just an administration issue.

> and you don't have to use a cairo-dependency version of pango.

Well, if you use a distribution "out of the box", there are good chances that 
this dependancy exists. You said above that disabled users don't care about 
purity, I also doubt that they recompile applications themselves ;-).

> As I said above, the pango 
> dependency is really quite trivial; a few minutes hacking configure.in
> and a couple of #ifdefs should produce a binary-compatible libatk
> without pango which KDE could use.

That sounds good. And what about removing glib?

> Also, to clarify, while ATK links to 
> glib/gobject, it doesn't require the use of the glib mainloop, so the
> mainloop integration issues which have been mentioned for atk-bridge
> re-use should not be a concern here.

If glib is used in ATK only because of the gobjects, using C++ objects in ATK 
instead of gobjects would be IMHO a good idea;
- smaller code
- more standard technique
  (C++ is a recognized OOP language, while gobjects in C are kinda hack)
- something easier to maintain
- one major dependancy less for ATK.

And the transformation from C with gobjects to C++, even if not trivial, is 
somehow mechanical. For ATK, project, that would be a rather boring task to 
do that switch, but it would have the merit of giving it a status of real 
universal unix library.


-- 
La monoculture informatique fragilise le système d'information, elle est aussi 
toxique pour les données de l'entreprise. (Guy Brand)


More information about the kde-accessibility mailing list