Интерфейс поставщика услуг вспомогательных технологий ( AT-SPI ) — это платформенно-нейтральная структура для обеспечения двунаправленной связи между вспомогательными технологиями (AT) и приложениями. [3] Это фактический стандарт для предоставления доступа к свободным и открытым рабочим столам, таким как Linux или OpenBSD, возглавляемый проектом GNOME .
Одной из распространенных номенклатур для объяснения фреймворка доступности является обычная архитектура клиент-сервер. Таким образом, вспомогательные технологии (AT), такие как программы чтения с экрана , будут клиентами этого фреймворка, а компьютерные приложения будут сервером. В этой архитектуре клиент и сервер должны общаться друг с другом, обычно используя технологию IPC платформы. В идеале фреймворк доступности раскрывает это клиенту и серверу прозрачным образом.
Обычно API для клиентских и серверных приложений одинаковы, а фреймворк доступности обеспечивает клиентскую и серверную реализацию этого API. В случае GNOME есть два разных API, один для клиентской стороны (AT-SPI) и другой для серверной стороны ( Accessibility Toolkit (ATK)) из-за исторических причин, связанных с базовыми технологиями. [4]
AT-SPI изначально был разработан для использования Common Object Request Broker Architecture , объектно-ориентированной технологии IPC / RPC , для своего транспортного протокола. Сама спецификация AT-SPI была привязана к CORBA, как это было определено в CORBA IDL . AT-SPI использовал собственную быструю и легкую реализацию CORBA проекта GNOME, ORBit , и собственную структуру для создания компонентов CORBA, Bonobo . [5]
Проект GNOME решил, что релиз 3.0 будет свободен от ORBit и Bonobo, что означало необходимость решения D-Bus AT-SPI. [6] [7] В попытке продвинуть AT-SPI вперед в ноябре 2006 года был начат проект D-Bus. Он принял форму обзора производительности и дизайна, доступного на вики GNOME. Работа над реализацией началась в мае 2007 года. [8] Версия D-Bus AT-SPI, AT-SPI версии 2, была выпущена вместе с GNOME 3.0 в апреле 2011 года. [9] [10]
AT-SPI предоставляет мост ATK, поэтому все системы виджетов или приложения, реализующие ATK, будут автоматически передавать все свои события в AT-SPI. Система виджетов GNOME, GTK+ или приложения Mozilla , такие как Firefox и Thunderbird для Linux, реализуют ATK, поэтому они взаимодействуют с AT-SPI из коробки. Однако вполне возможно использовать AT-SPI без реализации ATK. Миграция D-Bus сделала возможным добавление поддержки AT-SPI в Qt . Qt реализовала собственный мост к AT-SPI, который был выпущен в альфа-статусе в августе 2011 года для целей тестирования [11] и был интегрирован в Qt для общего использования годом позже. [12]
AT/SPI является частью GNOME Accessibility Framework, выпущенной в 2001 году. Основной движущей силой разработки ATK был Accessibility Program Office (APO) Sun Microsystems, Inc. (теперь Oracle) с участием многих членов сообщества. Когда Oracle приобрела Sun в 2010 году, они сократили рабочие места разработчиков на полную ставку, работающих над компонентами доступности GNOME, такими как Accessibility Toolkit ATK и экранный ридер Orca. С тех пор он в основном поддерживается сообществом GNOME.
Разработка ATK велась их сопровождающими с помощью их сообщества. На данный момент сопровождающими являются: [13]
Текущий:
Предыдущий:
AT-SPI также можно использовать для автоматизированного тестирования пользовательских интерфейсов с помощью таких инструментов, как Linux Desktop Testing Project и Dogtail. [14]
AT-SPI выпускается под лицензией GNU Library General Public License (LGPL) версии 2. [2]