AT-SPI

framework de accesibilidad

AT-SPI (del inglés, Assistive Technology Service Provider Interface) es un framework de accesibilidad independiente de plataforma que proporciona comunicación entre las tecnologías de apoyo o de asistencia (AT, del inglés Assistive Technologies) y las aplicaciones.[2]​ Es el estándar de facto de accesibilidad para escritorios libres como GNU/Linux o OpenBSD, liderado por el proyecto GNOME.

AT-SPI
Parte de Proyecto GNOME
logo de accesibilidad de GNOME: una versión esquemática del Hombre de Vitruvio
Información general
Tipo de programa Accesibilidad
Modelo de desarrollo Software libre
Licencia GNU LGPL versión 2
Estado actual Activo
Versiones
Última versión estable 2.16 ( 23 de marzo de 2015 (9 años, 9 meses y 2 días)[1]​)
Enlaces

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.[3]

Implementaciones

editar

AT-SPI fue diseñado inicialmente para usar CORBA, una tecnología basada en objetos de comunicación entre procesos/llamada a procedimiento remoto, como protocolo de transporte. La especificación de AT-SPI originalmente estaba tan vinculada a CORBA que estaba definida usando el lenguaje IDL (del inglés, Interface description language) de CORBA. AT-SPI usaba una implementación ligera y rápida de CORBA desarrollada por GNOME llamada ORBit, y un framework propio para el desarrollo de componentes CORBA llamado Bonobo.[4]

El proyecto GNOME empezó a usar paulatinamente D-Bus en lugar de ORBit/Bonobo y se decidió que la versión 3.0 sería la primera en eliminar por completo todo uso de ORBit y Bonobo, y por tanto, se hizo necesario encontrar una implementación de AT-SPI basada en D-Bus.[5][6]​ Las tareas de migración a D-Bus comenzaron en noviembre de 2006, que comenzaron con un estudio del rendimiento y un análisis de la arquitectura, disponibles en la wiki de GNOME. Los trabajos de implementación comenzaron en mayo de 2007[7]​ La versión de AT-SPI basada en D-Bus, AT-SPI versión 2, fue publicada de forma conjunta al lanzamiento de GNOME 3.0 en abril de 2011.[8][9]

Soporte

editar

AT-SPI proporciona además un puente a ATK, de manera que todos aquellos sistemas de widgets o aplicaciones que implementan ATK automáticamente comunican todos sus eventos a AT-SPI. El sistema de widgets de GNOME, GTK+, aplicaciones de Mozilla como Firefox o Thunderbird para GNU/Linux implementan ATK, así que se comunican con AT-SPI de forma ipso-facto. No obstante, es también posible usar AT-SPI sin implementar ATK. La migración a D-Bus posibilitó que Qt añadiese soporte AT-SPI. Qt implementó su propio puente a AT-SPI que se lanzó en estado alfa en agosto de 2011 para su testeo[10]​ y finalmente fue integrado en Qt para su uso general un año más tarde.[11]

Desarrollo

editar

AT-SPI forma parte del Framework de Accesibilidad de GNOME que fue lanzado en 2001.[12]​ 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.[13]​ Desde entonces, ATK es siendo mantenido principalmente por la comunidad GNOME.

Mantenedores

editar

El desarrollo de AT-SPI está liderado por sus mantenedores con la ayuda de la comunidad. Los mantenedores hasta la fecha han sido:[14]

Actual:

  • Mike Gorse

Anteriores:

  • Mark Doffman
  • Li Yuan

Otros usos

editar

AT-SPI también se usa para el testeo automático de interfaces de usuarios, a través de herramientas como Linux Desktop Testing Project o Dogtail.

Licencia

editar

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


Véase también

editar

Enlaces externos

editar

Referencias

editar
  1. «Repositorio git del código fuente de AT-SPI». Consultado el 23 de marzo de 2015. 
  2. «ATK/AT-SPI SIG Overview». Archivado desde el original el 13 de abril de 2014. Consultado el 7 de julio de 2014. 
  3. Sánchez Prada, Mario (3 de febrero de 2013). «Accessibility in [WebKit]GTK+». Consultado el 7 de julio de 2014. 
  4. «Orca Documentation Series». Archivado desde el original el 13 de abril de 2014. Consultado el 7 de julio de 2014. 
  5. «Planning for GNOME 3.0». Consultado el 7 de julio de 2014. 
  6. «GNOME 3 Porting Guide». Consultado el 7 de julio de 2014. 
  7. «Accessibility/ATK/AT-SPI/AT-SPI on D-Bus». Consultado el 7 de julio de 2014. 
  8. «GNOME 3.0 released: better for users, developers». Consultado el 7 de julio de 2014. 
  9. «Git source code released with GNOME 3.0». Consultado el 7 de julio de 2014. 
  10. «Accessibility on Linux». Archivado desde el original el 7 de julio de 2014. Consultado el 7 de julio de 2014. 
  11. «Qt accesibility APIs». Archivado desde el original el 7 de julio de 2014. Consultado el 7 de julio de 2014. 
  12. «Making GNOME Accessible -- Opening New Doors At the Workplace for Users with Disabilities». GNOME Foundation. Archivado desde el original el 24 de octubre de 2016. Consultado el 7 de julio de 2014. 
  13. Walker, Willie (30 de marzo de 2010). «GNOME Accessibility Hackfest». Consultado el 7 de julio de 2014. 
  14. «AT-SPI's Maintainers file». Consultado el 7 de julio de 2014.