HOME

TheInfoList



OR:

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 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 ...
. One common nomenclature to explain an accessibility framework is a usual client-server architecture. In that way, Assistive Technologies (ATs), such as
screen readers A screen reader is a form of assistive technology (AT) that renders text and image content as speech or braille output. Screen readers are essential to people who are blind, and are useful to people who are visually impaired, illiterate, or ha ...
, would be the clients of that framework, and computer applications would be the server. In this architecture, client and server need to communicate with each other, usually using the IPC technology of the platform. Ideally the accessibility framework exposes 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 (AT-SPI) and a different one for the server-side ( Accessibility Toolkit (ATK)) due to historical reasons related to the underlying technologies.


Implementations

AT-SPI was originally designed for using Common Object Request Broker Architecture, an object-based IPC/ RPC technology, for its transport protocol. The AT-SPI specification itself was tied to CORBA as it was defined in CORBA IDL. AT-SPI used the GNOME project's own fast and lightweight CORBA implementation,
ORBit In celestial mechanics, an orbit is the curved trajectory of an object such as the trajectory of a planet around a star, or of a natural satellite around a planet, or of an artificial satellite around an object or position in space such as ...
, and its own framework for creating CORBA components, Bonobo. The GNOME project decided that the 3.0 release will be free of ORBit and Bonobo meaning a
D-Bus In computing, D-Bus (short for "Desktop Bus") is a message-oriented middleware mechanism that allows communication between multiple processes running concurrently on the same machine. D-Bus was developed as part of the freedesktop.org project, ...
AT-SPI solution was required. In an effort to move AT-SPI forward, a D-Bus project was started in November 2006. This took the form of a performance and design review available on the GNOME wiki. Work began on the implementation in May 2007. The D-Bus version of AT-SPI, AT-SPI version 2, was released along with GNOME 3.0 in April 2011.


Support

AT-SPI provides an ATK bridge, so all the widget systems or applications that implement ATK will automatically communicate all their events to AT-SPI. The GNOME widget system, GTK+, or
Mozilla Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, w ...
applications like
Firefox Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current ...
and
Thunderbird Thunderbird, thunder bird or thunderbirds may refer to: * Thunderbird (mythology), a legendary creature in certain North American indigenous peoples' history and culture * Ford Thunderbird, a car Birds * Dromornithidae, extinct flightless birds ...
for Linux implement ATK, so they communicate out-of-box with AT-SPI. However, it is completely possible to use AT-SPI without implementing ATK. The
D-Bus In computing, D-Bus (short for "Desktop Bus") is a message-oriented middleware mechanism that allows communication between multiple processes running concurrently on the same machine. D-Bus was developed as part of the freedesktop.org project, ...
migration made possible that Qt added AT-SPI support. Qt implemented its own bridge to AT-SPI that was released in alpha status in August 2011 for testing purposes and it was integrated into Qt for general use a year later.


Development

AT/SPI is part of the GNOME Accessibility Framework that was released in 2001. 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 like the Accessibility Toolkit ATK and the Orca screen reader. Since then, it is mainly maintained by the GNOME community.


Maintainers

ATK development has been led by their maintainers with the help of its community. The maintainers so far are: Current: * Mike Gorse Previous: * Mark Doffman * Li Yuan


Other uses

AT-SPI can also be used for automated testing of user interfaces, with tools such as
Linux Desktop Testing Project The Linux Desktop Testing Project (LDTP) is an open-source testing tool that uses computer assistive technology to automate GUIs. The GUI functionality of an application can be tested in Windows, Mac, Linux, Solaris, FreeBSD and embedded environme ...
and Dogtail.


Licensing

AT-SPI is released under the
GNU Library General Public License The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
(LGPL) version 2.


See also

* Accessibility Toolkit (ATK) *
Microsoft Active Accessibility Microsoft Active Accessibility (MSAA) is an application programming interface (API) for user interface accessibility. MSAA was introduced as a platform add-on to Microsoft Windows 95 in 1997. MSAA is designed to help Assistive Technology (AT) produ ...
(MSAA) *
Microsoft UI Automation 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. UIA is targeted at providing UI accessibility and it is a suc ...
(UIA) *
IAccessible2 IAccessible2 is an accessibility API for Microsoft Windows applications. Initially developed by IBM under the codename Project Missouri, IAccessible2 has been placed under the aegis of the Free Standards Group, now part of the Linux Foundation. ...


See also

* {{slink, GNOME, Accessibility


References


External links

* at-spi, at the
Free Software Directory The Free Software Directory (FSD) is a project of the Free Software Foundation (FSF). It catalogs free software that runs under free operating systems—particularly GNU and Linux. The cataloged projects are often able to run in several other opera ...

GNOME Accessibility Project homepage

ATSPI2
at the Linux Foundation Accessibility API GNOME Accessibility