JAWS + Flash = al palo
Ando probando una de las últimas versiones de JAWS (9.0.519) en aplicaciones Flash. Como siempre, buenas y malas noticias.
Las buenas noticias son que utilizando la propiedad _accProps de un MovieClip puedes especificar dinámicamente y por código lo que el lector de pantalla leerá cuando le llegue el foco a ese MovieClip.
[Aquí como siempre Adobe haciendo chapuzas de las suyas. No hay un objeto AccProps, si miras la referencia recomienda crear un objeto anónimo, lo cual apesta porque no tienes validación de tipos. Pero es que _accProps ni siquiera aparece en las propiedades de MovieClip sino como propiedad global, por lo menos para AS2.]
Una vez creado la propiedad _accProps, nos vamos al navegador y comprobamos. En general funciona más o menos de forma esperada tanto en IE como en FF (esto último sólo con la version 9.0.115 del player que es la que añade soporte para MSAA en navegadores alternativos). Es decir, JAWS lee con su metálica voz lo que le dices. ¡Yuju! Hasta aquí las buenas noticias.
Las malas noticias son:
- Bastantes inconsistencias con el orden de tabulación. Es decir, sin JAWS activado la tabulación dentro de Flash funciona como un reloj. Con JAWS activado, algunas veces de forma aleatoria empieza por la que le viene en gana. Tanto IE como FF.
- JAWS interfiere en la captura de ciertas teclas. Una de las aplicaciones captura Key.onKeyDown y si es ENTER ejecuta unas acciones. Sin JAWS perfecto, con JAWS no llega el evento a Flash. Pero es que no sólo pasa con ENTER, pasa con más atajos de teclado de JAWS, por ejemplo “r” (ir a radio buttons) o “a” (ir a “anchors”). Aún no sé cómo voy a maravillearmelas para saltarme esto.
Una cosa que mola es que podemos pasar instrucciones específicas a los usuarios que usan un lector de pantalla añadiendo _accProps a _root. Así en el momento que le llega el foco, lee esas instrucciones específicas que pueden diferir bastante de las instrucciones para una persona con visión. La otra forma de hacerlo sería con un div oculto en HTML, lo cual mola menos.
De todas formas lo mejor con diferencia es que en mi curro han contratado a tiempo parcial a un chico ciego para que nos ayude con temas de accesibilidad. Estoy intentando que venga a la oficina un día para hacer user testing con él. Pero testing en plan:
Prueba esto a ver qué tal. ¿Mal? Espera, que recompilo haciendo esto otro y vuelve a probar.
Tener a un ciego en plantilla es de un valor INCALCULABLE para hacer testing REAL. Una cosa es cómo yo utilizo JAWS (al que odio porque me da dolor de cabeza) y otra muy distinta cómo lo hace un usuario avanzado.
En fin, ya os contaré cómo va la cosa y si tengo tiempo haré un artículo algo más extenso. Si alguien tiene preguntas específicas para Mark (que así se llama), que me mande un mail. Si alguien sabe donde hay información *actual* sobre lectores de pantalla y Flash, que me lo cuente también, por favor.
Una vez que tengamos JAWS controlado, intentaremos pasar la prueba con Windows Eyes.
Salud!
February 14th, 2008 at 12:09 pm
Pues eres mi ídolo, porque yo pico para JAWs por referencias. Las veces que he intentado instalarlo (y utilizarlo) he acabado de los nervios.
De todas formas yo creo que ese tipo de testing no podemos hacerlo los programadores, porque no tenemos un uso ni medio decente de la herramienta (poco más que “lee” - “no lee”) que además es increiblemente potente y difícil de controlar.
Un artículo sobre “Cómo testear webs con JAWs” sería de un interés enorme, aunque sean las cosas más básicas para que las utilicen los desarrolladores. Yo me ofrezco a echaros un cable en lo que pueda.
February 14th, 2008 at 12:17 pm
Joder de verdad, que manera de mirar por el puto dinero en lugar de por tus usuarios.
http://www.webaim.org/blog/jaws-license-not-developer-friendly
February 14th, 2008 at 1:44 pm
Lo de la licencia da para un post a parte. Incluso aceptando que JAWS es software muy caro de desarrollar, lo que yo creo es lo siguiente.
Las empresas que desarrollan para gente con problemas *saben* que la mayoría de las veces el dinero no lo pagan los discapacitados, sino organizaciones que directa o indirectamente están subvencionadas con dinero público. Eso en parte está bien y debe ser así, pero yo tengo la impresión de que o inflan su precios artificialmente o hacen como la licencia de JAWS.
Si Freedom Scientific quisiera ayudar de verdad a los discapacitados, no pondría semejante cláusula. Pero sabe de sobra que lo puede hacer. Evidentemente yo en mi curro no he pagado la licencia, lo hace mi empresa, que al final no lo mete en la factura, que al final paga el gobierno porque tiene mucho dinero. Nuestro dinero.
Si yo fuera el gobierno, obligaría a esas empresas a facilitar cosas como la comentas.
February 25th, 2008 at 11:37 pm
[...] Pues como comentaba hace poco, el viernes pasado tuvimos un día de testing con Mark, un chico ciego que además de ciego es biólogo con un master pero que no encuentra trabajo de lo suyo ¿Imaginas por qué? Efectivamente, porque es ciego. Pero dejemos eso para otro post. [...]