APIs de accesibilidad

La accesibilidad web es acerca de las personas. El éxito de la accesibilidad web es de anticipar las diferentes necesidades de todo tipo de gente, la comprensión de sus usuarios de Internet compañeros y las diferentes formas que consumen información, empatizar con ellos y su sentido de lo que es conveniente y lo frustrante barreras innecesarias que podría ayudarles a evitar.

Armado con este conocimiento, la accesibilidad se convierte en un reto técnico frío y duro. Una sólida comprensión de la tecnología es fundamental para tomar decisiones informadas sobre el diseño accesible.

¿Cómo las tecnologías de asistencia presentan una aplicación web para que sea accesible para sus usuarios? ¿De dónde sacan la información que necesitan? Una de las claves es una tecnología conocida como las APIs de accesibilidad (o interfaz de programación de aplicaciones de accesibilidad, de utilizar su título formal completo).

Lectura de la pantalla

Para entender el papel de una API de accesibilidad en la toma de las aplicaciones web para que sean accesibles, es muy útil saber un poco acerca de cómo las tecnologías de asistencia proporcionan acceso a las aplicaciones y cómo han evolucionado con el tiempo.

UN MUNDO DE TEXTO

Con el sistema operativo DOS basado en texto, se llevaron a cabo los caracteres en la pantalla y la posición del cursor en un búfer de pantalla en la memoria del ordenador. Las tecnologías de apoyo podrían obtener esta información mediante la lectura directamente de la memoria intermedia de pantalla o por las señales interceptadas hacia a un monitor. La información podría ser manipulada – por ejemplo, aumenta o se convierte en un formato alternativo, como voz sintética.

INTRODUCCIÓN AL DISEÑO GRÁFICO

La llegada de las interfaces gráficas, como OS / 2, Mac OS y Windows significaba que la información clave acerca de lo que estaba en la pantalla ya no podía ser simplemente leer de una plantilla. Ahora todo se dibuja en la pantalla como una imagen, incluyendo fotos de texto. Así, las ayudas técnicas en esas plataformas tuvieron que encontrar una nueva forma de obtener información de la interfaz.

Esta situación la tratan interceptando los borradores de los dibujos en pantalla enviados al motor gráfico y utilizan esa información para crear una versión alternativa fuera de la interfaz. Las aplicaciones se hacen de una forma similar a las webs, a través de una pantalla se van colocando los elementos que queremos y los conocimientos de informática son cada vez menos necesarios grácias a la interfaces que intentan hacer la vida más fácil al diseñador.

MODELOS OFF-SCREEN

El reconocimiento de los objetos en este modelo off-screen se realiza a través de análisis heurístico. Por ejemplo, el sistema operativo podría dar instrucciones para dibujar un rectángulo en la pantalla, con un borde y algunas formas en su interior que representan texto. Un ser humano puede mirar a ese objeto (en el contexto de otra información en la pantalla) y correctamente deducir que es un botón.

Para informar al usuario acerca de un objeto, una tecnología de ayuda podría tratar de determinar lo que el objeto es mediante la búsqueda de información de identificación. Por ejemplo, en una aplicación de Windows, el lector de pantalla puede presentar el nombre de la clase de ventana. La tecnología de asistencia también trata de obtener información sobre el estado de un objeto por la forma en que se dibuja – por ejemplo, el seguimiento destacado podría ayudar a deducir cuando un objeto ha sido seleccionado. Esto funciona cuando el papel de un objeto o estado pueden determinarse fácilmente, pero en muchos casos la información relevante no es clara, ambigua o no está disponible mediante programación.

Esta ingeniería inversa de información es  falible y restrictiva. Una tecnología de asistencia podría implementar el soporte para una nueva característica sólo una vez que se había introducido en el sistema operativo o la aplicación. Un objeto puede no transmitir información útil y, en todo caso, se tomó un tiempo para identificarlo, desarrollar las heurísticas necesarias para apoyar y luego enviar una nueva versión del lector de pantalla. Esto creó una demora entre la introducción de nuevas características y la capacidad de la tecnología de asistencia para apoyarlo.

El modelo off-screen necesita sombra en el motor gráfico, pero los motores no lo hacen tan fácil. El modelo off-screen tiene que calcular de forma independiente cosas como la gestión de espacios en blanco y la coordinación y alineación de errores. Estos errores pueden causar anomalías en la información transmitida a los usuarios.

APIs de accesibilidad

Desde finales de 1990, las API de accesibilidad del sistema operativo se introdujeron como una forma más fiable para pasar información a las tecnologías de asistencia. En lugar de aplicar una heurística compleja para determinar cuál podría ser el objeto en pantalla, las ayudas técnicas pueden consultar la API de accesibilidad para obtener información específica acerca de cada objeto. Los autores podrían ahora proporcionar la información necesaria acerca de una aplicación en una forma que conocían la tecnología de asistencia lo entendería.

Una API accesibilidad representa objetos en una interfaz de usuario, la exposición de información acerca de cada objeto dentro de la aplicación. Por lo general, hay varias piezas de información de un objeto, incluyendo:

  • Su función (por ejemplo, podría ser un botón, una ventana de aplicación o una imagen).
  • Un nombre que lo identifica dentro de la interfaz (si hay una etiqueta visible como texto en un botón, este será típicamente su nombre, pero podría ser codificado directamente en el objeto);
  • Su estado o condición actual (por ejemplo, una casilla de verificación podría ser seleccionada actualmente, parcialmente seleccionada o no seleccionada).

La primera API accesibilidad plataforma, Microsoft Active Accessibility (MSAA), se puso a disposición en una actualización a Windows 1997 95. MSAA proporcionado información sobre la función y el estado de los objetos y algunas de sus propiedades. Pero no dio acceso a cosas como el formato de texto, y las relaciones entre los objetos de la interfaz era difícil o imposible de determinar.

En 1998, IBM y Sun Microsystems construyeron una multiplataforma accesibilidad API para Java. Swing de Java 1.0 daba acceso a la rica información de texto, relaciones, tablas, hipervínculos y más. El lector de pantalla Java Jive, construido en esta plataforma, era la primera vez en que la información de un lector de pantalla sobre los componentes de una interfaz de usuario incluian papel, estado y propiedades asociadas, así como ricos detalles de formato de texto.

Notablemente, Java Jive fue escrito por tres desarrolladores en aproximadamente cinco meses; el desarrollo de un lector de pantalla a través de un modelo fuera de la pantalla normalmente toma varios años.

ACCESIBILIDAD APIS GO MAINSTREAM

En 2001, el Proveedor de Servicios de Tecnología de Asistencia Interface (AT-SPI) para Linux fue puesto a disposición para todo el mundo, basado en el trabajo realizado en Java, y en 2002 de Apple, incluiendo el protocolo NSAccessibility con Mac OS X (10.2 Jaguar).

Mientras tanto en Windows, la situación se estava complicando. Microsoft adquierió la interfaz de usuario Automation (UIA) API como parte de Windows 7, mientras que IBM lanzó IAccessible2 como un estándar abierto para Windows y Linux, una vez más evolucionado de la labor realizada en Java.

API de accesibilidad existían para plataformas móviles antes de que los teléfonos inteligentes con pantalla táctil se volvieran dominantes, pero en 2009 Apple añadió la UI API Accesibilidad para iOS 3, y Android 1.6 (Donut) enviado con el Marco de Acceso.

A principios de 2015, Chrome OS se destacó como la plataforma más corriente que carece de una API de accesibilidad estándar. Pero Google está trabajando con la prueba beta de su API de automatización, con la intención de llenar este vacío en la plataforma.

APIS DE ACCESIBILIDAD MODERNA

En APIs modernas de accesibilidad e interfaces de usuario se representan como un árbol jerárquico. Por ejemplo, una ventana de aplicación contendría varios objetos, la primera de las cuales podría ser una barra de menú. La barra de menú podría contener un número de menús, cada uno de los cuales contiene un número de elementos de menú, y así sucesivamente. Las APIs de accesibilidad describen la relación de un objeto a otros objetos para proporcionar contexto. Por ejemplo, un botón de radio probablemente sería una “hermano” dentro de un grupo.

Otras características tales como información sobre el formato de texto, encabezados aplicables para las secciones de contenido o celdas de la tabla y cosas tales como notificaciones de eventos todos se han vuelto comunes en las API modernas de accesibilidad.

Las tecnologías de asistencia ahora siguen un método estándar llamando al sistema operativo para obtener información acerca de los objetos en la pantalla. Esto es mucho más fiable, y mucho más eficiente, que la interceptación de mensajes del sistema operativo de bajo nivel y tratar de deconstruirlos en algo significativo.

El mundo de las APIs de accesibilidad ha sufrido varios reveses, y los seguirá sufriendo, la tecnología se mejora día a día y se adapta a las necesidades de los usuarios, para esto, es necesario estar al día de todas las novedades y disponer de un buen equipo que las sepa aplicar en tu negocio digital como Interneate, expertos en la programación y diseño de webs y aplicaciones.

1 comentario
  1. ant
    ant Dice:

    Hola!

    Entonces con una API de accesibilidad se podrían mapear automáticamente las etiquetas ARIA con las html? O sólo sirve para auditar como creo que es el caso de Tenon.io?

    Gracias!

    Responder

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

diecisiete − diez =