What Is ATK ?

ATK stands for Accessibility ToolKit and is the toolkit that Gnome developed for management of Assistive Technology.

ATK is an in-process GObject-based API that does what AT-SPI does mostly, but "in-process", it doesn't cross process boundaries. ATK doesn't use CORBA.

Every application that uses ATK loads (optionally, at runtime) the shared library code for the ATK-to-AT-SPI which speaks CORBA to the rest of the accessibility world.

The Mozilla developers chose to implement ATK and re-use the ATK-to-AT-SPI bridge but in the case of Java, ATK couldn't be used (since everything was in the VM), and so a -java-access-bridge for Gnome was required.

The advantage of ATK over plain AT-SPI is that ATK is much more simpler (less work is needed).

More information on http://developer.gnome.org/projects/gap/tech-docs/SPIBlockDiagram.png and http://developer.gnome.org/projects/gap/presentations/GUAD3C/keynote/architecture.html.