ATK (informática)
# ATK (informática)

En informática, ATK ( del inglés Accessibility Toolkit) se refiere a una Interfaz de programación de aplicaciones (API) para desarrollar aplicaciones accesibles para plataformas libres y de código abierto, como GNU/Linux o OpenBSD, desarrollada por el Proyecto GNOME.

Una manera habitual de explicar un framework de accesibilidad es mediante analogía con la arquitectura cliente-servidor. En este sentido, las tecnologías de apoyo, como los lectores de pantalla, serían los clientes y las aplicaciones serían los servidores. En esta arquitectura, tanto los clientes como los servidores necesitan comunicarse entre ellos, normalmente usando la tecnología de Comunicación entre procesos de la plataforma. Idealmente, el framework de accesibilidad expone la información de accesibilidad de los servidores a los clientes de forma transparente.

Normalmente, tanto la parte del cliente como la del servidor usan la misma API, y el framework de accessibilidad proporciona las implementaciones de la API para ambas partes. En el caso de GNOME, existe una API para la parte del cliente (AT-SPI) y otra para la parte del servidor (ATK) debido a razones históricas relacionadas con la tecnlogía de comunicación entre procesos empleada inicialmente.

## Implementaciones

Los ficheros de cabecera de ATK están disponibles libremente para facilitar la labor de aquellos desarrolladores que quieran proveer de accesibilidad a los elementos de su interfaz gráfica de usuario, comúnmente conocidos como widgets. Los desarrolladores que usen un sistema de widgets que implemente los ficheros de cabecera de ATK, como por ejemplo GTK+, no tienen que preocuparse por hacer sus aplicaciones accessibles ya que los widgets proporcionados ya son accessibles. Sin embargo, cuando desarrollen sus propios widgets, tendrán que encargarse de exponer adecuadamente toda la información de accesibilidad.

GAIL (del inglés GNOME Accessibility Implementation Library) era el nombre de la implementación de la interface de accesibilidad de ATK para GTK+, el sistema de widgets de GNOME. Inicialmente, GAIL era un módulo independiente mapeado a GTK+, pero desde GNOME 3.2 se incluyó GAIL en GTK+, de manera que la implementación de ATK está desde entonces integrada en el propio GTK+.

Aparte de GTK+, existen otros sistemas de widgets y aplicaciones que implementan ATK para ser accesibles, como OpenOffice/LibreOffice, el motor web de Mozilla, Gecko, Clutter y el port a GTK+ del motor web WebKit, WebKitGTK+.

## Desarrollo

ATK forma parte del Framework de Accesibilidad de GNOME que fue lanzado en 2001. Inicialmente, la mayor parte del desarrollo de ATK se realizó a través de la Oficina del Programa de Accesibilidad (APO, del inglés Accessibility Program Office) de Sun Microsystems, Inc. (ahora Oracle) con contribuciones de muchos miembros de la comunidad. Cuando Oracle adquirió Sun en 2010, se eliminaron puestos de trabajo a tiempo completo dedicados al desarrollo de componentes de accesibilidad de GNOME, como el toolkit de accesibilidad ATK o el lector de pantalla Orca. Desde entonces, ATK es siendo mantenido principalmente por la comunidad GNOME.

## Mantenedores

El desarrollo de ATK está liderado por sus mantenedores con la ayuda de la comunidad. Los mantenedores hasta la fecha han sido:

Actual:

* Alejandro Piñeiro Iglesias

Anteriores:

* Bill Haneman
* Leon Fan
* Li Yuan

## Licencia

ATK está publicado bajo la licencia GNU Library General Public License (LGPL) version 2.

