Введение
Библиотека программного обеспечения Accessibility Toolkit (ATK) - это библиотека программного обеспечения с открытым исходным кодом, часть проекта GNOME, которая предоставляет интерфейсы прикладного программирования (API) для реализации поддержки доступности в программном обеспечении. Одной из распространенных номенклатур для объяснения рамок доступности является обычная архитектура клиентского сервера. Таким образом, вспомогательные технологии (AT), такие как считыватели экрана, будут клиентами этой структуры, а компьютерные приложения будут сервером. В этой архитектуре клиент и сервер должны общаться друг с другом, обычно используя технологию IPC платформы. В идеале, рамки доступности раскрывают это клиенту и серверу прозрачным способом. Обычно API для приложений на стороне клиента и на стороне сервера одинаковы, и структура доступности обеспечивает реализацию этого API на стороне клиента и на стороне сервера. В случае GNOME существует два разных API, один для клиентской стороны (интерфейс поставщика услуг вспомогательных технологий (AT SPI)) и другой для серверной стороны (ATK) из-за исторических причин, связанных с базовыми технологиями.
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 accessibility framework is a usual client server architecture. In that way, assistive technologies (ATs) such as screen readers, would be the clients of that framework, and computer applications would be the server. In this architecture the client and server need to communicate with each other, usually using the IPC technology of the platform. Ideally the accessibility framework expose 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 (Assistive Technology Service Provider Interface (AT SPI)) and a different one for the server side (ATK) due to historical reasons related to the underlying technologies.
Реализация
Файлы абстрактных заголовков ATK свободно доступны для разработчиков, которые хотят сделать свой набор инструментов GUI доступным. Разработчики, которые используют виджеты GUI-инструментариев, реализующих заголовки ATK, могут легче сделать свои приложения доступными. Однако, если они разрабатывают свои собственные виджеты, они должны будут обеспечить, чтобы они раскрывали всю доступную информацию. GAIL (GNOME Accessibility Implementation Library) - это название реализации интерфейсов доступности, определенной ATK для GTK+, библиотеки виджетов GNOME. Изначально GAIL был независимым модулем, отображенным на GTK +, но с GNOME 3.2 GAIL был объединен в GTK +, поэтому реализация ATK интегрирована в GTK +, и GAIL устарела. Помимо GTK+, другие инструментарии и приложения GUI реализовали ATK, чтобы быть доступными, такие как OpenOffice/LibreOffice, Gecko, Clutter и WebKit от Mozilla. Основной силой разработки ATK был Офис программы доступности (APO) Sun Microsystems, Inc. (ныне Oracle) с вкладом многих членов сообщества. Когда Oracle приобрела Sun в 2010 году, они сократили рабочие места разработчиков, работающих на полную ставку над компонентами доступности GNOME, такими как инструментарий ATK и чтение экрана Orca. С тех пор ATK в основном поддерживается сообществом GNOME.
Преемник
Во время GUADEC 2020 Эмануэль Басси объявила, что работает около 6 месяцев над преемником ATK. Доступность больше не будет поддерживаться вне дерева, а будет частью GTK. Доступен с GTK 3.99.0 Новый подход будет реализовывать WAI ARIA (World Wide Web Consortium (W3C) Accessibility Initiative Accessible Rich Internet Applications).