Введение

Интерфейс поставщика услуг по оказанию помощи в технологиях (AT SPI) является нейтральной платформой для обеспечения двунаправленной связи между вспомогательными технологиями (AT) и приложениями. Это фактический стандарт для обеспечения доступности свободных и открытых настольных компьютеров, таких как Linux или OpenBSD, возглавляемых проектом GNOME. Одной из распространенных номенклатур для объяснения рамок доступности является обычная архитектура клиентского сервера. Таким образом, вспомогательные технологии (AT), такие как считыватели экрана, будут клиентами этой структуры, а компьютерные приложения будут сервером. В этой архитектуре клиент и сервер должны общаться друг с другом, обычно используя технологию IPC платформы. В идеале, рамка доступности раскрывает это клиенту и серверу прозрачным способом. Обычно API для приложений на стороне клиента и на стороне сервера одинаковы, и структура доступности обеспечивает реализацию этого API на стороне клиента и на стороне сервера. В случае GNOME существует два разных API, один для клиентской стороны (AT SPI) и другой для серверной стороны (Accessibility Toolkit (ATK)) из-за исторических причин, связанных с базовыми технологиями.

Реализация

AT SPI был первоначально разработан для использования архитектуры Common Object Request Broker, основанной на объектах технологии IPC/RPC, для своего транспортного протокола. Сама спецификация AT SPI была привязана к CORBA, как она была определена в CORBA IDL. AT SPI использовал собственную быструю и легкую реализацию CORBA проекта GNOME, ORBit, и собственную структуру для создания компонентов CORBA, Bonobo. Проект GNOME решил, что выпуск 3.0 будет свободен от ORBit и Bonobo, а это означает, что решение D Bus AT SPI было необходимо. В целях продвижения AT SPI вперед в ноябре 2006 года был запущен проект D Bus. Это было сделано в форме обзора производительности и дизайна, доступного на вики GNOME. Работа над реализацией началась в мае 2007 года. Версия D Bus AT SPI, версия 2 AT SPI, была выпущена вместе с GNOME 3.0 в апреле 2011 года.

Поддержка

AT SPI обеспечивает ATK-мост, поэтому все виджеты или приложения, которые реализуют ATK, автоматически сообщают все свои события AT SPI. Система виджетов GNOME, GTK +, или приложения Mozilla, такие как Firefox и Thunderbird для Linux, реализуют ATK, поэтому они общаются вне коробки с AT SPI. Однако использование AT SPI без применения ATK вполне возможно. Миграция D Bus сделала возможным добавление Qt в поддержку AT SPI. Qt реализовал свой собственный мост к AT SPI, который был выпущен в альфа-статусе в августе 2011 года для тестирования, и он был интегрирован в Qt для общего использования год спустя.

Разработка

AT/SPI является частью GNOME Accessibility Framework, которая была выпущена в 2001 году. Основной силой разработки ATK был Офис программы доступности (APO) Sun Microsystems, Inc. (ныне Oracle) с вкладом многих членов сообщества. Когда Oracle приобрела Sun в 2010 году, они сократили рабочие места разработчиков, работающих на полную ставку над компонентами доступности GNOME, такими как ATK и Orca. С тех пор он в основном поддерживается сообществом GNOME.

Другие применения

AT SPI также может использоваться для автоматизированного тестирования пользовательских интерфейсов с такими инструментами, как Linux Desktop Testing Project и Dogtail.

Лицензирование

AT SPI выпущен под лицензией GNU Library General Public License (LGPL) версии 2.