Download DESARROLLO DE APLICACIONES ACCESIBLES PARA WINDOWS
Document related concepts
no text concepts found
Transcript
DESARROLLO DE APLICACIONES ACCESIBLES OBJETIVOS Entender como funcionan las ayudas técnicas en entornos Windows Y Linux. Saber qué características debe tener una aplicación para que sea Accesible. DEFINICIÓN DE TÉRMINOS Accesibilidad Ayuda Técnica DEFINICIÓN DE TÉRMINOS Un entorno, producto o servicio se dice que es accesible cuando cumple una serie de condiciones que le hacen ser comprensible, utilizable y practicable por todas las personas. Un contenido es accesible cuando puede ser usado por alguien con discapacidad. Una aplicación es accesible cuando ofrece a un usuario con discapacidad la posibilidad de acceder a toda la información necesaria. DEFINICIÓN DE TÉRMINOS Una Ayuda Técnica para personas con discapacidad es "cualquier producto, instrumento, equipo o sistema técnico utilizado por una persona con discapacidad, creado específicamente para ello o de uso general, que sirva para prevenir, compensar, supervisar, aliviar o neutralizar la discapacidad". Tipos de Aplicaciones Accesibles Aplicaciones Desarrollo dirigidas de aplicaciones accesibles. Adaptación de las ayudas técnicas para hacer accesibles las aplicaciones comerciales. APLICACIONES DIRIGIDAS Aplicación no comercial diseñada especialmente para un entorno determinado de usuarios. Son accesibles por sí mismas, no requieren de ayudas técnicas. APLICACIONES DIRIGIDAS Sólo es accesible la aplicación, no el entorno. Debe convivir con la ayuda técnica instalada. APLICACIONES DIRIGIDAS Debe cumplir los criterios generales de desarrollo de aplicaciones accesibles. Dificultades - Mayor esfuerzo. Gestión completa de las ayudas técnicas. APLICACIONES DIRIGIDAS Ejemplos. - Diccionarios. - Juegos Tecnologías usadas por las ayudas técnicas. Driver de vídeo: La mayor parte de ayudas técnicas que funcionan sobre sistemas operativos con tecnología NT de Microsoft instalan un driver de vídeo entre el GDI (Graphics Device Interface) y el driver real de la tarjeta. De esta forma obtiene información de lo que está sucediendo en la pantalla. Tecnologías usadas por las ayudas técnicas. MSAA Son unas librerías que forman parte del sistema operativo MS Windows, que facilitan a las ayudas técnicas obtener información de las ventanas y elementos existentes en cada momento. Gran parte de esta información la obtiene automáticamente MSAA. Además el desarrollador de la aplicación puede agregar información a MSAA utilizando el SDK proporcionado por Microsoft,. Tecnologías usadas por las ayudas técnicas. AT-SPI (Assistive Technology Service Provider Interface) Es una plataforma API neutral que define como deben interactuar las ayudas técnicas (como Orca) con las aplicaciones. Tecnologías usadas por las ayudas técnicas. ATK (Accessibility ToolKit) Es una librería que describe un conjunto de interfaces que soportan el AT-SPI en el lado del GUI de la aplicación. Estas interfaces son independientes del toolkit, y pueden ser escritas para cualquier conjunto de controles (GTK, Motif, QT). Tecnologías usadas por las ayudas técnicas. GAIL (GNOME Accessibility Implementation Library) Es una librería donde se encuentran implementadas las interfaces de ATK para el toolkit de GTK (utilizado principalmente en el escritorio GNOME). Tecnologías usadas por las ayudas técnicas. Java Access Bridge (GNOME Java Bridge) Se trata de una librería Java que permite la comunicación entre la API de accesibilidad de Java y AT-SPI. Tecnologías usadas por las ayudas técnicas. Java Access Bridge (para la plataforma Windows). Java Access Bridge hace posible que las ayudas técnicas en Windows (como JAWS o Window-Eyes) puedan llegar e interactuar con la API de accesibilidad de Java. Se trata de una DLL que ofrece a las ayudas técnicas una serie de métodos nativos que facilitan la comunicación con las utilidades de accesibilidad de JAVA y la API de accesibilidad de Java presentes en la máquina virtual. PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLES La accesibilidad debe ser un requisito inicial en cualquier desarrollo de una aplicación. La aplicación debe poder utilizar la configuración propia del sistema operativo (tamaño de fuente y combinación de colores más adecuados, etc.). PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLES Se debe evitar el uso de temporizadores que obliguen al usuario a realizar una acción en un tiempo determinado. La aplicación debe permitir al usuario gestionar las ventanas (modificar el tamaño y posición, minimizar, maximizar, cerrar la ventana, etc.). PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLES Se recomienda que la aplicación disponga de una barra de menú desde la que se pueda acceder a sus principales funcionalidades. Las opciones de uso más frecuente no deben estar en posiciones muy profundas del menú. PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLES Desde el teclado se debe poder acceder a cualquier elemento de la interfaz de la aplicación. La aplicación debe responder a los comandos de teclado estándar del gestor de ventanas en el que se esté ejecutando en cada momento. PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLES La aplicación debe ser completamente funcional utilizando sólo como dispositivos de entrada el teclado. La aplicación debe incorporar teclas abreviadas y teclas rápidas que faciliten su manejo. PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLES Se recomienda que la aplicación permita la configuración sencilla de sus teclas rápidas por si en un momento dado éstas interfirieran con las teclas propias de las ayudas técnicas utilizadas por el usuario. Dentro de una ventana, se debe mantener un orden lógico de tabulación entre los diferentes elementos. PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLES Se recomienda que la navegación entre los diferentes elementos de una ventana sea circular. Se recomienda evitar que un control que no está visible pueda recibir el foco. PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLES Se recomienda que siempre que se muestre un área de texto, y sea posible, se pueda recorrer mediante teclado. Todos los controles (cuadros de edición, listas, cuadros combinados…) deben tener una etiqueta asociada que describa su propósito. PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLES La disposición de los controles y las etiquetas asociadas en la ventana es de suma importancia para que una ayuda técnica pueda relacionar la etiqueta con el control. Se debe evitar que haya elementos que se solapen entre sí. PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLES Una aplicación no debería ofrecer información que dependiera de colores. Evitar utilizar objetos que provoquen parpadeos, movimientos de contenido o cambios en períodos regulares. ¿Cómo evaluar el nivel de accesibilidad de una aplicación? Pruebas de accesibilidad Instalar una ayuda técnica y probar la aplicación En caso de usar lector de pantallas se recomienda: Desconectar el ratón Apagar la pantalla. Herramientas Inspect32 Herramienta que muestra la información que tiene MSAA del objeto en el que está el foco actualmente. Herramientas Herramientas Herramientas ACCExplorer Herramienta que para una ventana permite ver la información disponible en MSAA de dicha ventana. Permite desplazarse de forma cómoda a los objetos hijos, hermanos, padre y consultar también la información disponible. Herramientas Java Accessibility Helper La herramienta Java Accessibility Helper ayuda a los desarrolladores a hacer accesibles sus programas basados en JFC, para personas con discapacidad. Esta herramienta genera un informe que incluye una lista prioritizada de los problemas y problemas potenciales de accesibilidad que pueda tener la aplicación que se está probando. Por ejemplo, Helper verifica que todos los campos de entrada de un diálogo puedan ser accesibles mediante teclado. No es necesario disponer del código fuente de la aplicación, y funciona para aplicaciones basadas en Swing o AWT. Herramientas Accerciser Accerciser es un explorador interactivo de accesibilidad basado en Python para el escritorio de GNOME. Utiliza AT-SPI para inspeccionar y controlar los componentes gráficos de un GUI, para permitirle verificar si una aplicación está proporcionando la información correcta a las ayudas técnicas y a los sistemas autómatas de pruebas. Es posible la creación de plugins para Accerciser y así personalizar la vista de la información de accesibilidad que éste muestra. Herramientas Herramientas Herramientas AT-Poke Se trata de una herramienta que nos permite conocer la información de accesibilidad de una aplicación que se le está proporcionando a las ayudas técnicas mediante el uso de AT-SPI. Scripts Se trata de pequeños "programas" que indican a un lector de pantalla como debe comportarse ante determinados eventos. Hoy en día los lectores de pantalla más usados permiten su programación mediante el uso de scripts, y están basados en estos scripts, proporcionando un conjunto de scripts por defecto que indican a la ayuda técnica como responder y presentar al usuario la información de los componentes estándares de una aplicación. Desgraciadamente no todas las aplicaciones en la actualidad son accesibles o diseñadas con este requisito, y aquí es donde los scripts son de gran ayuda. Incluso hay situaciones, en las que aún siendo accesible la aplicación es necesario aplicar un script para mejorar la experiencia del usuario con la aplicación en cuestión. Enlaces de interés ONCE-CIDAT http://www.once.es/cidat Tiflolinux http://www.tiflolinux.org Freeedom Scientific (Jaws) http://www.freedomscientific.com ORCA http://live.gnome.org/Orca Enlaces de interés Java Accessibility Helper http://java.sun.com/developer/earlyAccess/jaccesshelper/ Accerciser http://live.gnome.org/Accerciser AT-Poke http://svn.gnome.org/viewvc/at-poke Enlaces de interés Proyecto de accesibilidad en Gnome http://developer.gnome.org/projects/gap Microsoft Active Accessibility http://msdn2.microsoft.com/en-us/library/ms697707.aspx http://msdn2.microsoft.com/en-us/library/ms788733.aspx Pautas de accesibilidd en java: http://www-03.ibm.com/able/guidelines/java/snsjavag.html