Die Assistive Technology Service Provider Interface ( AT-SPI ) ist ein plattformneutrales Framework für die bidirektionale Kommunikation zwischen Assistenztechnologien (AT) und Anwendungen. [ 3 ] Sie ist der De-facto- Standard für die Barrierefreiheit freier und offener Desktop-Systeme wie Linux oder OpenBSD und wird vom GNOME-Projekt vorangetrieben .
Eine gängige Bezeichnung für ein Barrierefreiheits-Framework ist die übliche Client-Server-Architektur. Dabei wären Assistive Technologien (ATs) wie Bildschirmleseprogramme die Clients des Frameworks und Computeranwendungen die Server. In dieser Architektur müssen Client und Server miteinander kommunizieren, üblicherweise über die IPC -Technologie der Plattform. Idealerweise stellt das Barrierefreiheits-Framework diese Kommunikation für Client und Server transparent bereit.
Normalerweise ist die API für Client- und Serveranwendungen identisch, und das Accessibility-Framework stellt jeweils eine Client- und eine Serverimplementierung dieser API bereit. Im Fall von GNOME existieren jedoch zwei unterschiedliche APIs: eine für die Clientseite (AT-SPI) und eine separate für die Serverseite ( Accessibility Toolkit (ATK)). Dies ist auf historische Gegebenheiten im Zusammenhang mit den zugrunde liegenden Technologien zurückzuführen. [ 4 ]
Implementierungen
AT-SPI wurde ursprünglich für die Verwendung der Common Object Request Broker Architecture ( CORBA) , einer objektbasierten IPC / RPC- Technologie, als Transportprotokoll konzipiert. Die AT-SPI-Spezifikation selbst war an CORBA gebunden, da sie in der CORBA IDL definiert war. AT-SPI nutzte die schnelle und ressourcenschonende CORBA-Implementierung ORBit des GNOME-Projekts sowie das eigene Framework Bonobo zur Erstellung von CORBA-Komponenten . [ 5 ]
Das GNOME-Projekt entschied, dass Version 3.0 frei von ORBit und Bonobo sein sollte, weshalb eine D-Bus -AT-SPI-Lösung erforderlich war. [ 6 ] [ 7 ] Um AT-SPI weiterzuentwickeln, wurde im November 2006 ein D-Bus-Projekt gestartet. Dieses umfasste eine Leistungs- und Designprüfung, die im GNOME-Wiki veröffentlicht wurde. Die Implementierung begann im Mai 2007. [ 8 ] Die D-Bus-Version von AT-SPI, AT-SPI Version 2, wurde zusammen mit GNOME 3.0 im April 2011 veröffentlicht. [ 9 ] [ 10 ]
Unterstützung
AT-SPI stellt eine ATK-Brücke bereit, sodass alle Widget-Systeme und Anwendungen, die ATK implementieren, ihre Ereignisse automatisch an AT-SPI übermitteln. Das GNOME-Widget-System GTK+ sowie Mozilla- Anwendungen wie Firefox und Thunderbird für Linux implementieren ATK und kommunizieren daher standardmäßig mit AT-SPI. Es ist jedoch auch möglich, AT-SPI ohne ATK-Implementierung zu verwenden. Die D-Bus -Migration ermöglichte es Qt, AT-SPI-Unterstützung hinzuzufügen. Qt implementierte eine eigene AT-SPI-Brücke, die im August 2011 als Alpha-Version zu Testzwecken veröffentlicht wurde [ 11 ] und ein Jahr später für die allgemeine Verwendung in Qt integriert wurde [ 12 ] .
Entwicklung
AT/SPI ist Teil des GNOME Accessibility Frameworks, das 2001 veröffentlicht wurde. Die Hauptentwicklungskraft hinter ATK war das Accessibility Program Office (APO) von Sun Microsystems, Inc. (heute Oracle), unterstützt von zahlreichen Community-Mitgliedern. Nach der Übernahme von Sun durch Oracle im Jahr 2010 wurden die Stellen der Vollzeitentwickler, die an GNOME-Barrierefreiheitskomponenten wie dem Accessibility Toolkit ATK und dem Bildschirmleser Orca arbeiteten, abgebaut. Seitdem wird AT/SPI hauptsächlich von der GNOME-Community weiterentwickelt.
Instandhalter
Die Entwicklung von ATK wurde von den Maintainern mit Unterstützung der Community vorangetrieben. Die bisherigen Maintainer sind: [ 13 ]
Aktuell:
- Mike Gorse
Vorherige:
- Mark Doffman
- Li Yuan
Weitere Verwendungsmöglichkeiten
AT-SPI kann auch für automatisierte Tests von Benutzeroberflächen verwendet werden, beispielsweise mit Tools wie dem Linux Desktop Testing Project und Dogtail. [ 14 ]
Lizenzierung
AT-SPI wird unter der GNU Library General Public License (LGPL) Version 2 veröffentlicht. [ 2 ]
Siehe auch
- Accessibility Toolkit (ATK)
- Microsoft Active Accessibility (MSAA)
- Microsoft UI Automation (UIA)
- IAccessible2
Siehe auch
Referenzen
- ^ "Version 2.60.4" .
- ^ a b "AT-SPI git source code repository, COPYING file" . Abgerufen am 10.04.2014 .
- ^ „ATK/AT-SPI SIG Übersicht“ . Archiviert vom Original am 13.04.2014 . Abgerufen am 10.04.2014 .
- ^ Sánchez Prada, Mario (3. Februar 2013). „Barrierefreiheit in [WebKit]GTK+“ . Abgerufen am 10. April 2014 .
- ^ „Orca-Dokumentationsreihe“ . Archiviert vom Original am 13.04.2014 . Abgerufen am 10.04.2014 .
- ^ „Planung für GNOME 3.0“ . Abgerufen am 10.04.2014 .
- ^ „GNOME 3 Portierungsleitfaden“ . Abgerufen am 10.04.2014 .
- ^ „Accessibility/ATK/AT-SPI/AT-SPI on D-Bus“ . Abgerufen am 10.04.2014 .
- ^ „GNOME 3.0 veröffentlicht: besser für Benutzer und Entwickler“ . Abgerufen am 10.04.2014 .
- ^ „Git-Quellcode mit GNOME 3.0 veröffentlicht“ . Abgerufen am 10.04.2014 .
- ^ „Barrierefreiheit unter Linux“ . Archiviert vom Original am 7. Juli 2014. Abgerufen am 10. April 2014 .
- ^ „Qt accessibility APIs“ . Archiviert vom Original am 07.07.2014 . Abgerufen am 10.04.2014 .
- ^ „AT-SPI-Maintainerdatei“ . Abgerufen am 30.03.2014 .
- ^ „ATK/AT-SPI Special Interest Group“ . Abgerufen am 26.11.2020 .