La Interfaz de Proveedor de Servicios de Tecnología de Asistencia ( AT-SPI ) es un marco de trabajo independiente de la plataforma para proporcionar comunicación bidireccional entre tecnologías de asistencia (AT) y aplicaciones. [3] Es el estándar de facto para proporcionar accesibilidad a escritorios libres y abiertos, como Linux o OpenBSD, liderado por el Proyecto GNOME .
Una nomenclatura común para explicar un marco de accesibilidad es una arquitectura cliente-servidor habitual. De esa manera, las tecnologías de asistencia (AT), como los lectores de pantalla , serían los clientes de ese marco, y las aplicaciones informáticas serían el servidor. En esta arquitectura, el cliente y el servidor necesitan comunicarse entre sí, normalmente utilizando la tecnología IPC de la plataforma. Lo ideal es que el marco de accesibilidad exponga esto al cliente y al servidor de forma transparente.
Por lo general, las API para las aplicaciones del lado del cliente y del lado del servidor son las mismas, y el marco de accesibilidad proporciona una implementación del lado del cliente y del lado del servidor de esa API. En el caso de GNOME, hay dos API diferentes, una para el lado del cliente (AT-SPI) y otra para el lado del servidor ( Accessibility Toolkit (ATK)) debido a razones históricas relacionadas con las tecnologías subyacentes. [4]
AT-SPI fue diseñado originalmente para utilizar Common Object Request Broker Architecture , una tecnología IPC / RPC basada en objetos , para su protocolo de transporte. La especificación AT-SPI en sí misma estaba vinculada a CORBA tal como se definió en CORBA IDL . AT-SPI utilizó la implementación rápida y liviana de CORBA del propio proyecto GNOME, ORBit, y su propio marco para crear componentes CORBA, Bonobo . [5]
El proyecto GNOME decidió que la versión 3.0 estaría libre de ORBit y Bonobo, lo que significa que se necesitaba una solución AT-SPI basada en D-Bus . [6] [7] En un esfuerzo por hacer avanzar AT-SPI, se inició un proyecto D-Bus en noviembre de 2006. Esto tomó la forma de una revisión de rendimiento y diseño disponible en la wiki de GNOME. El trabajo de implementación comenzó en mayo de 2007. [8] La versión D-Bus de AT-SPI, AT-SPI versión 2, se lanzó junto con GNOME 3.0 en abril de 2011. [9] [10]
AT-SPI proporciona un puente ATK, por lo que todos los sistemas de widgets o aplicaciones que implementan ATK comunicarán automáticamente todos sus eventos a AT-SPI. El sistema de widgets de GNOME, GTK+ o las aplicaciones de Mozilla como Firefox y Thunderbird para Linux implementan ATK, por lo que se comunican de forma inmediata con AT-SPI. Sin embargo, es completamente posible utilizar AT-SPI sin implementar ATK. La migración a D-Bus hizo posible que Qt añadiera compatibilidad con AT-SPI. Qt implementó su propio puente a AT-SPI que se publicó en estado alfa en agosto de 2011 con fines de prueba [11] y se integró en Qt para uso general un año después. [12]
AT/SPI es parte del marco de accesibilidad de GNOME que se lanzó en 2001. La principal fuerza de desarrollo detrás de ATK fue la Oficina del Programa de Accesibilidad (APO) de Sun Microsystems, Inc. (ahora Oracle) con contribuciones de muchos miembros de la comunidad. Cuando Oracle adquirió Sun en 2010, recortó los puestos de trabajo de los desarrolladores a tiempo completo que trabajaban en componentes de accesibilidad de GNOME como Accessibility Toolkit ATK y el lector de pantalla Orca. Desde entonces, el mantenimiento lo realiza principalmente la comunidad de GNOME.
El desarrollo de ATK ha sido liderado por sus mantenedores con la ayuda de su comunidad. Los mantenedores hasta ahora son: [13]
Actual:
Anterior:
AT-SPI también se puede utilizar para pruebas automatizadas de interfaces de usuario, con herramientas como Linux Desktop Testing Project y Dogtail. [14]
AT-SPI se publica bajo la Licencia Pública General de Biblioteca GNU (LGPL) versión 2. [2]