HOME

TheInfoList



OR:

Assistive Technology Service Provider Interface (AT-SPI) is a platform-neutral framework for providing bi-directional communication between
assistive technologies Assistive technology (AT) is a term for assistive, adaptive, and rehabilitative devices for people with disabilities and the elderly. Disabled people often have difficulty performing activities of daily living (ADLs) independently, or even with ...
(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. One common nomenclature to explain an accessibility framework is a usual client-server architecture. In that way,
Assistive Technologies Assistive technology (AT) is a term for assistive, adaptive, and rehabilitative devices for people with disabilities and the elderly. Disabled people often have difficulty performing activities of daily living (ADLs) independently, or even with ...
(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 IPC may refer to: Computing * Infrastructure protection centre or information security operations center * Instructions per cycle or instructions per clock, an aspect of central-processing performance * Inter-process communication, the sharin ...
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 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 a ...
(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 IPC may refer to: Computing * Infrastructure protection centre or information security operations center * Instructions per cycle or instructions per clock, an aspect of central-processing performance * Inter-process communication, the sharin ...
/
RPC RPC may refer to: Science and technology * Rational polynomial coefficient * Reactive Plastic Curtain, a carbon-dioxide-absorbing device used in some rebreather breathing sets * Regional Playback Control, a regional lockout technology for DVDs * ...
technology, for its transport protocol. The AT-SPI specification itself was tied to CORBA as it was defined in CORBA
IDL IDL may refer to: Computing * Interface description language, any computer language used to describe a software component's interface ** IDL specification language, the original IDL created by Lamb, Wulf and Nestor at Queen's University, Canada ...
. 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 a ...
, and its own framework for creating CORBA components,
Bonobo The bonobo (; ''Pan paniscus''), also historically called the pygmy chimpanzee and less often the dwarf chimpanzee or gracile chimpanzee, is an endangered great ape and one of the two species making up the genus '' Pan,'' the other being the co ...
. 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+ GTK (formerly GIMP ToolKit and 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 prop ...
, 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 ...
and Thunderbird 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 and Dogtail.


Licensing

AT-SPI is released under the GNU Library General Public License (LGPL) version 2.


See also

*
Accessibility Toolkit 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 a ...
(ATK) * Microsoft Active Accessibility (MSAA) * Microsoft UI Automation (UIA) * IAccessible2


See also

* {{slink, GNOME, Accessibility


References


External links

*
at-spi 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 t ...
, 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 The Linux Foundation (LF) is a non-profit technology consortium founded in 2000 as a merger between Open Source Development Labs and the Free Standards Group to standardize Linux, support its growth, and promote its commercial adoption. Addi ...
Accessibility API GNOME Accessibility