[Kde-accessibility] my crazy thoughts

Philippe FREMY P.FREMY@OBERTHURCS.com
Wed, 27 Nov 2002 11:48:29 +0100


	Hi,

Pupeno said:

> The best corba implementation seems to depend on Gnome, so, using at-spi
corba 
> direct won't save me from depending on Gnome.

Is it Gnome, or just Orbit + GObject ? That's different.

> I've found that ATK uses GObjects which I am still trying to understand (I

> asked for help in #gnome and #gtk+ on irc.gnome.org, but I didn't get any
help :| )

Read the developer.gnome.org tutorials. Helps a bit.

> But what really surprised me is that AT-SPI is developed in Gnome by Gnome

> developers too. It is not the generic way I thought it was.

I would say that ATK was introduced in Gnome by Sun, which is very
different. Accessibility is supported by Sun.

> Then I thought why is everybody else using AT-SPI when it is a Gnome
thing. 
> Well, it seems there's no standard thing for accessibility and only a free

> one developed by Gnome and the projects that are using AT-SPI and ATK (is 
> there anyone using AT-SPI without using ATK ?) are closely related to
Gnome: 
> Java, developed by Sun who also is in the developing of Gnome, OpenOffice,
it 
> seems it already uses some things from GTK, I may be wrong, but OpenOffice

> has Sun support, or sponsorship, well, it comes from StarOffice, a Sun 

I do not agree. Sun has interests in Java and in Gnome, true. It does not
make Java related to Gnome, though. OpenOffice is developed by Sun too. So
it seems that AT-SPI and ATK has indeed been brought not by Gnome but by Sun
to us. And that they have chosen Gtk and Orbit as their toolkit to bring
that.

> product, isn't it ? and Mozilla was already using GTK Objects, wasn't it ?

I don't know about this one. Mozilla uses a generic toolkit portable to many
platforms (XUL engine). They are certainly not using Gtk in the way Gnome
does. In fact, there even was once a Qt port of Mozilla.

If Mozilla has done things properly and I imagine they did, mozilla
interfaces with ATK not at the level of their Gtk widgets but at a higher
GUI level. Mozilla is supposed to have a very versatile GUI which you can
script in many ways. I hope they have put the ATK accessbility at the
generic GUI level.

> All that implementations of ATK+AT-SPI seemed simple and logical, KDE
doesn't. 

I think it was not as simple as it seems.

> It's like asking any of those to use dcop.
> Yes, of course, anyone can use dcop outside KDE, there's no problem, but
it is 
> not designed to do that and there's no documentation for that, I think
(even 
> in the dcop case, there are some tools to do scripting with dcop).

You are wrong. DCOP has been designed not to depend much on KDE. It depends
on Qt and X11 only. And some people thought about removing this dependancy
to make it more reusable. Bindings for C and python were developed, to
ensure that other projects could use it.

> I think I'm facing a desition like the one of kde 2.0: dcop vs corba.

ATK, AT-SPI or something else ?

There are things you need to take into account:

- standard:
How standard is AT-SPI ? And ATK ? Two gnome programs use it already and
they will enable access to Mozilla, OpenOffice and every Gnome application.
Does this apply to any Gtk application ? Are there other accessibility
toolkit apart from ATK ?

It seem to me that ATK/AT-SPI is an accepted standard, even if it is new. If
some application already use it, it would be a pity that they don't work
with KDE. Or are you going to develop similar applications in KDE ? And if
those helper applications are develop, they must be able to access Mozilla,
OpenOffice and Gnome. So whatever happens, an AT-SPI access is needed.

- relationship to Gnome:
How is accessibility development related to Gnome ? Moving it to a more
neutral place like freedesktop might help to loosen things a bit. I suppose
the license is the LGPL.

- technical:
I suppose AT-SPI is very generic. Is it true for ATK too ? Qt has a
promising architecture, which might be easier to use than ATK.

You are facing a decision that KDE has faced a few times: do we use existing
technologies or do we develop our own ? Many times, KDE has chosen its own
technology: dcop and KPart vs Corba and Bonobo, KOffice vs OpenOffice, khtml
vs Mozilla/Gecko.

However, accessibility is not as simple as these other decisions. Whether
KDE uses dcop or Corba only concerns KDE because this is internal to KDE.
Accessibility is opening KDE to external applications. There seem to be
existing applications that use AT-SPI to provide accessibility and there are
projects that use AT-SPI to be accessible. 

We probably don't want the author of accessibility applications to write
their applications twice, once for AT-SPI, and once for a KDE or Qt
framework.

>From the information I have gathered so far, I would say that AT-SPI is
unavoidable. You need it. And you don't have many choice to access it. It is
either Corba or ATK, both having some drawbacks.

Bill, could you clarify on the relationship between ATK and Gnome ? What are
the applications using ATK/AT-SPI today and were they already using Gnome ?

	regards,

	Philippe