Re: ATK ,GTK...



>  I'm browsing around these accessibility docs and I'm a little 
confused.
>Are there two projects going on with gnome for accessiblity? An 
addition
>to GTK to make applications using GTK accessible, and another project 
(ATK
>I think it's called?) to make applications that don't use GTK 
accessible?
>Am I correct? Thanks

Not quite ;-)

ATK is a set of interface definitions and wrappers defining 
accessibility.  ATK is not GTK-specific, but ATK does define the 
accessibility interfaces which GTK uses.

In turn, the actual implementation of those interfaces on behalf of the 
GTK+ widgets is in a project called GAIL, which is dynamically loadable 
by a GTK+ application.

Thus:

GTK+ depends on the accessibility interfaces in ATK (thus ATK "defines" 
accessibility for GTK+).

ATK itself has no dependencies on GTK+, thus other toolkits could still 
use ATK as their accessibility interface definition and accessibility 
API.

The actual widget-specific code that implements those interfaces lives 
in another module which is dynamically loadable (GAIL).  If GAIL is not 
loaded, GTK+ widgets will have a default accessibility implementation 
that basically returns "null" information though it nominally conforms 
to the ATK API.  

ATK depends on glib, so any toolkits wishing to implement ATK as their 
accessibility interfaces will need to link to glib.

Status:  ATK is basically complete/frozen, GAIL is under active 
development, somewhere around 35% complete.

There is another set of interfaces, still being finalized, called the 
accessibility Service Provider Interface (SPI).  These interfaces are 
used by out-of-process clients to obtain accessibility information about 
running applications.  (ATK can't be used for this since ATK is an 
in-process interface, and can only be used directly within the 
application's own process space).  This SPI can be implemented by any 
toolkit.  In the case of GTK+, the internal ATK interfaces are exported 
to the SPI via the "Accessibility Bridge".

Two diagrams of interest:

http://developer.gnome.org/projects/gap/presentations/GUADEC/gnomeaccess
architecture.html

http://developer.gnome.org/projects/gap/tech-docs/SPIBlockDiagram.png

Regards,

-Bill

> Garrett Banuk
>
>
>_______________________________________________
>gnome-accessibility-list mailing list
>gnome-accessibility-list gnome org
>http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list

------
Bill Haneman x19279
Gnome Accessibility / Batik SVG Toolkit
Sun Microsystems Ireland 





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