This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (December 2018) (Learn how and when to remove this template message)
The topic of this article may not meet Wikipedia's general notability guideline. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged, redirected, or deleted.Find sources: "Accessibility Toolkit" – news · newspapers · books · scholar · JSTOR (August 2022) (Learn how and when to remove this template message)
ATK
Gnome-preferences-desktop-accessibility2.svg
Stable release
2.36.0 / April 2, 2020; 2 years ago (2020-04-02)[1]
Repository
LicenseGNU LGPL (version 2)[2]
Websitewiki.gnome.org/Accessibility
Simplified software architecture of GTK+. Pango, GDK, ATK, GIO, Cairo and GLib.
Simplified software architecture of GTK+. Pango, GDK, ATK, GIO, Cairo and GLib.

Accessibility Toolkit (ATK) is an open source software library, part of the GNOME project, which provides application programming interfaces (APIs) for implementing accessibility support in software.

One common nomenclature to explain an accessibility framework is a usual client-server architecture. In that way, assistive technologies (ATs) such as screen readers, would be the clients of that framework, and computer applications would be the server. In this architecture the client and server need to communicate with each other, usually using the IPC technology of the platform. Ideally the accessibility framework expose this to the client and server in a transparent way.

Usually the API for both client-side and server-side applications are the same, and the accessibility framework provides a client-side and a server-side implementation of that API. In the case of GNOME, there are two different APIs, one for the client-side (Assistive Technology Service Provider Interface (AT-SPI)) and a different one for the server-side (ATK) due to historical reasons related to the underlying technologies.[3]

Implementations

The ATK abstract headers files are freely available to help developers who want to make their GUI toolkit accessible.[4] Developers who use stock widgets of GUI toolkits that implements the ATK headers don't have to worry too much for making their applications accessible. However, if they develop their own widgets, they will have to ensure that they are exposing all the accessible information.

GAIL (GNOME Accessibility Implementation Library) was the name of the accessibility interfaces implementation defined by ATK for GTK+, the widget library of GNOME. Initially, GAIL was an independent module mapped to GTK+ but since GNOME 3.2, GAIL was merged into GTK+, so the ATK implementation is integrated into GTK+ and GAIL is deprecated.[5]

Apart from GTK+, other GUI toolkits and applications have implemented ATK in order to be accessible, such as OpenOffice[6]/LibreOffice,[7] Mozilla's Gecko,[8] Clutter[9] and WebKitGTK+.[3]

Development

ATK is part of the GNOME Accessibility Framework that was released in 2001.[10] The main development force behind ATK was the Accessibility Program Office (APO) of Sun Microsystems, Inc. (now Oracle) with contributions from many community members. When Oracle acquired Sun in 2010 they cut developer jobs of full-time developers working on GNOME accessibility components such as the Accessibility Toolkit ATK and the Orca screen reader.[11] Since then, ATK is mainly maintained by the GNOME community.

Successor

During GUADEC 2020 Emanuelle Bassi announced to have been working for about 6 months on a successor to ATK.[12] Accessibility will no longer be maintained out-of-tree but be part of GTK. Available since GTK 3.99.0[13] The new approach will implement WAI-ARIA (World Wide Web Consortium (W3C) Accessibility Initiative – Accessible Rich Internet Applications).

Maintainers

ATK development has been led by their maintainers with the help of its community. The maintainers so far are:[14]

Current:

Previous:

References

  1. ^ "Tags · GNOME / atk · GitLab". Retrieved 2021-03-23.
  2. ^ "ATK git source code repository, COPYING file". Retrieved 2014-03-30.
  3. ^ a b Sánchez Prada, Mario (February 3, 2013). "Accessibility in [WebKit]GTK+". Retrieved 2014-03-30.
  4. ^ "ATK source code". Retrieved 2014-03-30.
  5. ^ "GNOME 3.2 release notes". Retrieved 2014-03-30.
  6. ^ "Apache OpenOffice ATK implementation source code". Retrieved 2014-03-30.
  7. ^ "LibreOffice ATK implementation source code". Archived from the original on 2014-05-18. Retrieved 2014-03-30.
  8. ^ "Mozilla accessibility architecture". Retrieved 2014-03-30.
  9. ^ "Cally (Clutter Accessibility Implementation Library) project page". Retrieved 2014-03-30.
  10. ^ "Making GNOME Accessible -- Opening New Doors At the Workplace for Users with Disabilities". GNOME Foundation. Retrieved 2014-03-30.
  11. ^ Walker, Willie (March 30, 2010). "GNOME Accessibility Hackfest". Retrieved 2014-03-30.
  12. ^ "GUADEC 2020 slide decks".
  13. ^ "Release of gtk 3.99.0".
  14. ^ "ATK's Maintainers file". Retrieved 2014-03-30.