This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these template messages)
|
Stable release | 2.36.0 / April 2, 2020 [1] |
---|---|
Repository | |
License | GNU LGPL (version 2) [2] |
Website | wiki |
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]
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 can more easily make 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]
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.
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).
ATK development has been led by their maintainers with the help of its community. The maintainers so far are: [14]
Current:
Previous:
In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.
In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of application software.
wxWidgets is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes. A wide choice of compilers and other tools to use with wxWidgets facilitates development of sophisticated applications. wxWidgets supports a comprehensive range of popular operating systems and graphical libraries, both proprietary and free, and is widely deployed in prominent organizations.
The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. It was originally developed by Stephen Northover at IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE. It is an alternative to the Abstract Window Toolkit (AWT) and Swing Java graphical user interface (GUI) toolkits provided by Sun Microsystems as part of the Java Platform, Standard Edition (J2SE).
X Toolkit Intrinsics is a library that implements an API to facilitate the development of programs with a graphical user interface (GUI) for the X Window System. It can be used in the C or C++ languages.
GLib is a bundle of three low-level system libraries written in C and developed mainly by GNOME. GLib's code was separated from GTK, so it can be used by software other than GNOME and has been developed in parallel ever since.
Assistive Technology Service Provider Interface (AT-SPI) is a platform-neutral framework for providing bi-directional communication between assistive technologies (AT) and applications. It is the de facto standard for providing accessibility to free and open desktops, like Linux or OpenBSD, led by the GNOME Project.
qooxdoo is an open-source Ajax web application framework. It is an LGPL- and/or EPL-licensed client-side and server-agnostic solution, and includes support for professional JavaScript development, a graphical user interface (GUI) toolkit and high-level client-server communication.
Microsoft UI Automation (UIA) is an application programming interface (API) that allows one to access, identify, and manipulate the user interface (UI) elements of another application.
java-gnome is a set of language bindings for the Java programming language for use in the GNOME desktop environment. It is part of the official GNOME language bindings suite and provides a set of libraries allowing developers to write computer programs for GNOME using the Java programming language and the GTK cross-platform widget toolkit.
A software widget is a relatively simple and easy-to-use software application or component made for one or more different software platforms.
ZK is an open-source Ajax Web application framework, written in Java, that enables creation of graphical user interfaces for Web applications with little required programming knowledge.
GTK is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the Wayland and X11 windowing systems.
GNOME, originally an acronym for GNU Network Object Model Environment, is a free and open-source desktop environment for Linux and other Unix-like operating systems.
Mono is a free and open-source .NET Framework-compatible software framework. Originally by Ximian, it was later acquired by Novell, and is now being led by Xamarin, a subsidiary of Microsoft and the .NET Foundation. Mono can be run on many software systems.
GNOME Project is a community behind the GNOME desktop environment and the software platform upon which it is based. It consists of all the software developers, artists, writers, translators, other contributors, and active users of GNOME. It is no longer part of the GNU Project.
GTK Scene Graph Kit (GSK) is the rendering and scene graph API for GTK introduced with version 3.90. GSK lies between the graphical control elements (widgets) and the rendering.
Client-side decoration (CSD) is the concept of allowing a graphical application software to be responsible for drawing its own window decorations, historically the responsibility of the window manager.