Accessibility Toolkit refers in particular to the GNOME ATK. GNOME (for GNU Network Object Model Environment) is the name of a project to create a open source/free software computer desktop environment for Unix and Unix-like operating systems. ...
The ATK is a developertoolkit which allows programmers to use common GNOME accessibility features in their applications. This includes such features as high-contrast visual themes for the visually-impaired and keyboard behaviour modifiers (e.g. Sticky Keys) for those with diminished motor control. A developer can be one of: A software developer, one who programs computers or designs the system to match the requirements of a systems analyst. ... In computer programming, widget toolkits (or GUI toolkits) are sets of basic building elements for graphical user interfaces. ... Accessibility is a general term used to describe how easy it is for people to get to, use, and understand things. ... Application has the following meanings: In general, an application is using something abstract for a more concrete use. ... Blindness can be defined physiologically as the condition of lacking sight. ...
Accessibility APIs on each operating system have built-in assumptions about what is the most important information, and how an accessibility server like Mozilla should use the API's programmatic interfaces to expose this information to an accessibility client (the assistive technology).
Given that there is a fair amount of commonality between accessibility API toolkits, it made sense to write of the code in a cross platform manner, and then deal with the platform differences on a consistent manner.
When the doc accessible is asked for, an event is fired which reaches the PresShell, which then uses the accessibility service singleton (nsIAccessibilityService) to create the doc accessible and return it back to the widget code.