desarrollo de aplicaciones accesibles para...

40
DESARROLLO DE DESARROLLO DE APLICACIONES APLICACIONES ACCESIBLES ACCESIBLES

Upload: vanminh

Post on 16-Oct-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

DESARROLLO DE DESARROLLO DE APLICACIONES APLICACIONES

ACCESIBLESACCESIBLES

OBJETIVOSOBJETIVOS

Entender como funcionan las ayudas Entender como funcionan las ayudas técnicas en entornos Windows Y técnicas en entornos Windows Y Linux.Linux.

Saber qué características debe tener Saber qué características debe tener una aplicación para que seauna aplicación para que sea Accesible.Accesible.

DEFINICIÓN DE TÉRMINOSDEFINICIÓN DE TÉRMINOS

AccesibilidadAccesibilidad

Ayuda TécnicaAyuda Técnica

DEFINICIÓN DE TÉRMINOSDEFINICIÓN DE TÉRMINOS

Un entorno, producto o servicio se dice que Un entorno, producto o servicio se dice que es accesible cuando cumple una serie de es accesible cuando cumple una serie de condiciones que le hacen ser condiciones que le hacen ser comprensible, utilizable y practicable por comprensible, utilizable y practicable por todas las personas.todas las personas.

Un contenido es Un contenido es accesibleaccesible cuando puede cuando puede ser usado por alguien con discapacidad. ser usado por alguien con discapacidad.

Una aplicación es Una aplicación es accesibleaccesible cuando ofrece cuando ofrece a un usuario con discapacidad la a un usuario con discapacidad la posibilidad de acceder a toda la posibilidad de acceder a toda la información necesaria. información necesaria.

DEFINICIÓN DE TÉRMINOSDEFINICIÓN DE TÉRMINOS

Una Ayuda Técnica para personas con Una Ayuda Técnica para personas con discapacidad es "cualquier producto, discapacidad es "cualquier producto, instrumento, equipo o sistema técnico instrumento, equipo o sistema técnico utilizado por una persona con utilizado por una persona con discapacidad, creado específicamente discapacidad, creado específicamente para ello o de uso general, que sirva para ello o de uso general, que sirva para prevenir, compensar, supervisar, para prevenir, compensar, supervisar, aliviar o neutralizar la discapacidad". aliviar o neutralizar la discapacidad".

Tipos de Aplicaciones AccesiblesTipos de Aplicaciones Accesibles

Aplicaciones dirigidasAplicaciones dirigidas

Desarrollo de aplicaciones accesibles.Desarrollo de aplicaciones accesibles.

Adaptación de las ayudas técnicas para Adaptación de las ayudas técnicas para hacer accesibles las aplicaciones hacer accesibles las aplicaciones comerciales.comerciales.

APLICACIONES DIRIGIDASAPLICACIONES DIRIGIDAS

Aplicación no comercial diseñada Aplicación no comercial diseñada especialmente para un entorno especialmente para un entorno determinado de usuarios.determinado de usuarios.

Son accesibles por sí mismas, no Son accesibles por sí mismas, no requieren de ayudas técnicas.requieren de ayudas técnicas.

APLICACIONES DIRIGIDASAPLICACIONES DIRIGIDAS

Sólo es accesible la aplicación, no el Sólo es accesible la aplicación, no el entorno.entorno.

Debe convivir con la ayuda técnica Debe convivir con la ayuda técnica instalada.instalada.

APLICACIONES DIRIGIDASAPLICACIONES DIRIGIDAS

Debe cumplir los criterios generales de Debe cumplir los criterios generales de desarrollo de aplicaciones accesibles.desarrollo de aplicaciones accesibles.

DificultadesDificultades- Mayor esfuerzo.Mayor esfuerzo.- Gestión completa de las ayudas técnicas.Gestión completa de las ayudas técnicas.

APLICACIONES DIRIGIDASAPLICACIONES DIRIGIDAS

Ejemplos.Ejemplos.- Diccionarios.- Diccionarios.

- Juegos- Juegos

Tecnologías usadas Tecnologías usadas por las ayudas técnicas.por las ayudas técnicas.

Driver de vídeo:Driver de vídeo:

La mayor parte de ayudas técnicas que La mayor parte de ayudas técnicas que funcionan sobre sistemas operativos con funcionan sobre sistemas operativos con tecnología NT de Microsoft instalan un tecnología NT de Microsoft instalan un driver de vídeo entre el GDI (Graphics driver de vídeo entre el GDI (Graphics Device Interface) y el driver real de la Device Interface) y el driver real de la tarjeta. De esta forma obtiene información tarjeta. De esta forma obtiene información de lo que está sucediendo en la pantalla.de lo que está sucediendo en la pantalla.

Tecnologías usadas Tecnologías usadas por las ayudas técnicas.por las ayudas técnicas.

MSAAMSAA

Son unas librerías que forman parte del sistema Son unas librerías que forman parte del sistema operativo MS Windows, que facilitan a las operativo MS Windows, que facilitan a las ayudas técnicas obtener información de las ayudas técnicas obtener información de las ventanas y elementos existentes en cada ventanas y elementos existentes en cada momento. Gran parte de esta información la momento. Gran parte de esta información la obtiene automáticamente MSAA. Además el obtiene automáticamente MSAA. Además el desarrollador de la aplicación puede agregar desarrollador de la aplicación puede agregar información a MSAA utilizando el SDK información a MSAA utilizando el SDK proporcionado por Microsoft,.proporcionado por Microsoft,.

Tecnologías usadas Tecnologías usadas por las ayudas técnicas.por las ayudas técnicas.

AT-SPI (Assistive Technology Service AT-SPI (Assistive Technology Service Provider Interface) Provider Interface)

Es una plataforma API neutral que define Es una plataforma API neutral que define como deben interactuar las ayudas como deben interactuar las ayudas técnicas (como Orca) con las técnicas (como Orca) con las aplicaciones.aplicaciones.

Tecnologías usadas Tecnologías usadas por las ayudas técnicas.por las ayudas técnicas.

ATK (Accessibility ToolKit)ATK (Accessibility ToolKit)

Es una librería que describe un conjunto Es una librería que describe un conjunto de interfaces que soportan el AT-SPI en el de interfaces que soportan el AT-SPI en el lado del GUI de la aplicación. Estas lado del GUI de la aplicación. Estas interfaces son independientes del toolkit, y interfaces son independientes del toolkit, y pueden ser escritas para cualquier pueden ser escritas para cualquier conjunto de controles (GTK, Motif, QT).conjunto de controles (GTK, Motif, QT).

Tecnologías usadas Tecnologías usadas por las ayudas técnicas.por las ayudas técnicas.

GAIL (GNOME Accessibility GAIL (GNOME Accessibility Implementation Library)Implementation Library)

Es una librería donde se encuentran Es una librería donde se encuentran implementadas las interfaces de ATK para implementadas las interfaces de ATK para el toolkit de GTK (utilizado principalmente el toolkit de GTK (utilizado principalmente en el escritorio GNOME).en el escritorio GNOME).

Tecnologías usadas Tecnologías usadas por las ayudas técnicas.por las ayudas técnicas.

Java Access Bridge (GNOME Java Java Access Bridge (GNOME Java Bridge)Bridge)

Se trata de una librería Java que permite Se trata de una librería Java que permite la comunicación entre la API de la comunicación entre la API de accesibilidad de Java y AT-SPI.accesibilidad de Java y AT-SPI.

Tecnologías usadas Tecnologías usadas por las ayudas técnicas.por las ayudas técnicas.

Java Access Bridge (para la plataforma Java Access Bridge (para la plataforma Windows).Windows).

Java Access Bridge hace posible que las Java Access Bridge hace posible que las ayudas técnicas en Windows (como JAWS o ayudas técnicas en Windows (como JAWS o Window-Eyes) puedan llegar e interactuar con la Window-Eyes) puedan llegar e interactuar con la API de accesibilidad de Java. Se trata de una API de accesibilidad de Java. Se trata de una DLL que ofrece a las ayudas técnicas una serie DLL que ofrece a las ayudas técnicas una serie de métodos nativos que facilitan la de métodos nativos que facilitan la comunicación con las utilidades de accesibilidad comunicación con las utilidades de accesibilidad de JAVA y la API de accesibilidad de Java de JAVA y la API de accesibilidad de Java presentes en la máquina virtual.presentes en la máquina virtual.

PAUTAS PARA EL DESARROLLO PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLESDE APLICACIONES ACCESIBLES

La accesibilidad debe ser un requisito La accesibilidad debe ser un requisito inicial en cualquier desarrollo de una inicial en cualquier desarrollo de una aplicación.aplicación.

La aplicación debe poder utilizar la La aplicación debe poder utilizar la configuración propia del sistema operativo configuración propia del sistema operativo (tamaño de fuente y combinación de (tamaño de fuente y combinación de colores más adecuados, etc.).colores más adecuados, etc.).

PAUTAS PARA EL DESARROLLO PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLESDE APLICACIONES ACCESIBLES

Se debe evitar el uso de temporizadores Se debe evitar el uso de temporizadores que obliguen al usuario a realizar una que obliguen al usuario a realizar una acción en un tiempo determinado. acción en un tiempo determinado.

La aplicación debe permitir al usuario La aplicación debe permitir al usuario gestionar las ventanas (modificar el gestionar las ventanas (modificar el tamaño y posición, minimizar, maximizar, tamaño y posición, minimizar, maximizar, cerrar la ventana, etc.).cerrar la ventana, etc.).

PAUTAS PARA EL DESARROLLO PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLESDE APLICACIONES ACCESIBLES

Se recomienda que la aplicación disponga Se recomienda que la aplicación disponga de una barra de menú desde la que se de una barra de menú desde la que se pueda acceder a sus principales pueda acceder a sus principales funcionalidades.funcionalidades.

Las opciones de uso más frecuente no Las opciones de uso más frecuente no deben estar en posiciones muy profundas deben estar en posiciones muy profundas del menú.del menú.

PAUTAS PARA EL DESARROLLO PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLESDE APLICACIONES ACCESIBLES

Desde el teclado se debe poder acceder a Desde el teclado se debe poder acceder a cualquier elemento de la interfaz de la cualquier elemento de la interfaz de la aplicación.aplicación.

La aplicación debe responder a los La aplicación debe responder a los comandos de teclado estándar del gestor comandos de teclado estándar del gestor de ventanas en el que se esté ejecutando de ventanas en el que se esté ejecutando en cada momento.en cada momento.

PAUTAS PARA EL DESARROLLO PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLESDE APLICACIONES ACCESIBLES

La aplicación debe ser completamente La aplicación debe ser completamente funcional utilizando sólo como dispositivos funcional utilizando sólo como dispositivos de entrada el teclado. de entrada el teclado.

La aplicación debe incorporar teclas La aplicación debe incorporar teclas abreviadas y teclas rápidas que faciliten abreviadas y teclas rápidas que faciliten su manejo. su manejo.

PAUTAS PARA EL DESARROLLO PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLESDE APLICACIONES ACCESIBLES

Se recomienda que la aplicación permita Se recomienda que la aplicación permita la configuración sencilla de sus teclas la configuración sencilla de sus teclas rápidas por si en un momento dado éstas rápidas por si en un momento dado éstas interfirieran con las teclas propias de las interfirieran con las teclas propias de las ayudas técnicas utilizadas por el usuario.ayudas técnicas utilizadas por el usuario.

Dentro de una ventana, se debe mantener Dentro de una ventana, se debe mantener un orden lógico de tabulación entre los un orden lógico de tabulación entre los diferentes elementos. diferentes elementos.

PAUTAS PARA EL DESARROLLO PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLESDE APLICACIONES ACCESIBLES

Se recomienda que la navegación entre Se recomienda que la navegación entre los diferentes elementos de una ventana los diferentes elementos de una ventana sea circular.sea circular.

Se recomienda evitar que un control que Se recomienda evitar que un control que no está visible pueda recibir el foco. no está visible pueda recibir el foco.

PAUTAS PARA EL DESARROLLO PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLESDE APLICACIONES ACCESIBLES

Se recomienda que siempre que se Se recomienda que siempre que se muestre un área de texto, y sea posible, muestre un área de texto, y sea posible, se pueda recorrer mediante teclado.se pueda recorrer mediante teclado.

Todos los controles (cuadros de edición, Todos los controles (cuadros de edición, listas, cuadros combinados…) deben listas, cuadros combinados…) deben tener una etiqueta asociada que describa tener una etiqueta asociada que describa su propósito. su propósito.

PAUTAS PARA EL DESARROLLO PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLESDE APLICACIONES ACCESIBLES

La disposición de los controles y las La disposición de los controles y las etiquetas asociadas en la ventana es de etiquetas asociadas en la ventana es de suma importancia para que una ayuda suma importancia para que una ayuda técnica pueda relacionar la etiqueta con el técnica pueda relacionar la etiqueta con el control. control.

Se debe evitar que haya elementos que Se debe evitar que haya elementos que se solapen entre sí. se solapen entre sí.

PAUTAS PARA EL DESARROLLO PAUTAS PARA EL DESARROLLO DE APLICACIONES ACCESIBLESDE APLICACIONES ACCESIBLES

Una aplicación no debería ofrecer Una aplicación no debería ofrecer información que dependiera de colores. información que dependiera de colores.

Evitar utilizar objetos que provoquen Evitar utilizar objetos que provoquen parpadeos, movimientos de contenido o parpadeos, movimientos de contenido o cambios en períodos regulares. cambios en períodos regulares.

¿¿Cómo evaluar el nivel de Cómo evaluar el nivel de

accesibilidad de una aplicación?accesibilidad de una aplicación?

Pruebas de accesibilidadPruebas de accesibilidad

Instalar una ayuda técnica y probar la Instalar una ayuda técnica y probar la aplicaciónaplicación

En caso de usar lector de pantallas se En caso de usar lector de pantallas se recomienda:recomienda:

Desconectar el ratónDesconectar el ratónApagar la pantalla.Apagar la pantalla.

HerramientasHerramientas

Inspect32Inspect32

Herramienta que muestra la información Herramienta que muestra la información que tiene MSAA del objeto en el que está que tiene MSAA del objeto en el que está el foco actualmente.el foco actualmente.

HerramientasHerramientas

HerramientasHerramientas

HerramientasHerramientas

ACCExplorerACCExplorer

Herramienta que para una ventana permite ver Herramienta que para una ventana permite ver la información disponible en MSAA de dicha la información disponible en MSAA de dicha ventana. Permite desplazarse de forma cómoda ventana. Permite desplazarse de forma cómoda a los objetos hijos, hermanos, padre y consultar a los objetos hijos, hermanos, padre y consultar también la información disponible.también la información disponible.

HerramientasHerramientas

Java Accessibility Helper Java Accessibility Helper

La herramienta Java Accessibility Helper ayuda a los La herramienta Java Accessibility Helper ayuda a los desarrolladores a hacer accesibles sus programas desarrolladores a hacer accesibles sus programas basados en JFC, para personas con discapacidad. Esta basados en JFC, para personas con discapacidad. Esta herramienta genera un informe que incluye una lista herramienta genera un informe que incluye una lista prioritizada de los problemas y problemas potenciales prioritizada de los problemas y problemas potenciales de accesibilidad que pueda tener la aplicación que se de accesibilidad que pueda tener la aplicación que se está probando. Por ejemplo, Helper verifica que todos está probando. Por ejemplo, Helper verifica que todos los campos de entrada de un diálogo puedan ser los campos de entrada de un diálogo puedan ser accesibles mediante teclado. No es necesario disponer accesibles mediante teclado. No es necesario disponer del código fuente de la aplicación, y funciona para del código fuente de la aplicación, y funciona para aplicaciones basadas en Swing o AWT.aplicaciones basadas en Swing o AWT.

HerramientasHerramientas

AccerciserAccerciser

Accerciser es un explorador interactivo de accesibilidad Accerciser es un explorador interactivo de accesibilidad basado en Python para el escritorio de GNOME. Utiliza basado en Python para el escritorio de GNOME. Utiliza AT-SPI para inspeccionar y controlar los componentes AT-SPI para inspeccionar y controlar los componentes gráficos de un GUI, para permitirle verificar si una gráficos de un GUI, para permitirle verificar si una aplicación está proporcionando la información correcta a aplicación está proporcionando la información correcta a las ayudas técnicas y a los sistemas autómatas de las ayudas técnicas y a los sistemas autómatas de pruebas. Es posible la creación de plugins para pruebas. Es posible la creación de plugins para Accerciser y así personalizar la vista de la información Accerciser y así personalizar la vista de la información de accesibilidad que éste muestra.de accesibilidad que éste muestra.

HerramientasHerramientas

HerramientasHerramientas

HerramientasHerramientas

AT-PokeAT-Poke

Se trata de una herramienta que nos Se trata de una herramienta que nos permite conocer la información de permite conocer la información de accesibilidad de una aplicación que se le accesibilidad de una aplicación que se le está proporcionando a las ayudas está proporcionando a las ayudas técnicas mediante el uso de AT-SPI.técnicas mediante el uso de AT-SPI.

ScriptsScripts

Se trata de pequeños "programas" que indican a un Se trata de pequeños "programas" que indican a un lector de pantalla como debe comportarse ante lector de pantalla como debe comportarse ante determinados eventos.determinados eventos.Hoy en día los lectores de pantalla más usados permiten Hoy en día los lectores de pantalla más usados permiten su programación mediante el uso de scripts, y están su programación mediante el uso de scripts, y están basados en estos scripts, proporcionando un conjunto basados en estos scripts, proporcionando un conjunto de scripts por defecto que indican a la ayuda técnica de scripts por defecto que indican a la ayuda técnica como responder y presentar al usuario la información de como responder y presentar al usuario la información de los componentes estándares de una aplicación.los componentes estándares de una aplicación.Desgraciadamente no todas las aplicaciones en la Desgraciadamente no todas las aplicaciones en la actualidad son accesibles o diseñadas con este actualidad son accesibles o diseñadas con este requisito, y aquí es donde los scripts son de gran ayuda.requisito, y aquí es donde los scripts son de gran ayuda.Incluso hay situaciones, en las que aún siendo accesible Incluso hay situaciones, en las que aún siendo accesible la aplicación es necesario aplicar un script para mejorar la aplicación es necesario aplicar un script para mejorar la experiencia del usuario con la aplicación en cuestión.la experiencia del usuario con la aplicación en cuestión.

Enlaces de interésEnlaces de interés ONCE-CIDATONCE-CIDAT

http://www.once.es/cidathttp://www.once.es/cidat

TiflolinuxTiflolinuxhttp://www.tiflolinux.orghttp://www.tiflolinux.org

Freeedom Scientific (Jaws)Freeedom Scientific (Jaws)http://www.freedomscientific.comhttp://www.freedomscientific.com

ORCAORCAhttp://live.gnome.org/http://live.gnome.org/OrcaOrca

Enlaces de interésEnlaces de interés

Java Accessibility Helper Java Accessibility Helper http://java.sun.com/developer/earlyAccess/jaccesshelper/http://java.sun.com/developer/earlyAccess/jaccesshelper/

Accerciser Accerciser http://live.gnome.org/Accerciserhttp://live.gnome.org/Accerciser

AT-Poke AT-Poke httphttp://://svn.gnome.orgsvn.gnome.org//viewvcviewvc//atat--pokepoke

Enlaces de interésEnlaces de interés

Proyecto de accesibilidad en GnomeProyecto de accesibilidad en Gnomehttp://developer.gnome.org/projects/gaphttp://developer.gnome.org/projects/gap

Microsoft Active AccessibilityMicrosoft Active Accessibilityhttp://msdn2.microsoft.com/en-us/library/ms697707.aspxhttp://msdn2.microsoft.com/en-us/library/ms697707.aspxhttp://msdn2.microsoft.com/en-us/library/ms788733.aspxhttp://msdn2.microsoft.com/en-us/library/ms788733.aspx

Pautas de accesibilidd en java:Pautas de accesibilidd en java:httphttp://www-03.ibm.com/able/guidelines/java/snsjavag.html://www-03.ibm.com/able/guidelines/java/snsjavag.html