Universidad de Alicante
Departamento de Lenguajes y Sistemas Informáticos

Accesibilidad Web

Buscador

Migas de pan

Estás en: Accesibilidad web > Preguntas > ¿Qué es un CAPTCHA? Problemas de accesibilidad

¿Qué es un CAPTCHA? Problemas de accesibilidad

Los captchas, esas imágenes con letras y números distorsionados que hay que descifrar para completar muchos formularios son cada vez más difíciles, se aplican más variaciones, más distorsiones y se introduce más ruido para dificultar la resolución automática por parte de los ordenadores, pero a su vez también son más difíciles para las personas.

Desgraciadamente, los captchas que normalmente se emplean presentan problemas de accesibilidad para algunos grupos de usuarios. En concreto, los captcha bloquean el acceso a muchos usuarios que padecen algún tipo de discapacidad. Las personas con visión reducida, como pueden ser los daltónicos que tienen dificultades para distinguir algunas combinaciones de colores o las personas que usan magnificadores de pantalla para ampliar el tamaño de lo que se visualiza en una pantalla pueden tener graves problemas para distinguir el texto que se muestra en un captcha. Por otro lado, es evidente que las personas ciegas que utilizan un lector de pantalla no pueden contestar los captcha basados en imágenes con texto en su interior, ya que estas imágenes no pueden incluir en el atributo "alt" de la etiqueta <img> el texto que aparece escrito en los captcha, ya que entonces un ordenador también lo podría leer y podría pasar la prueba. Además, las personas con algún tipo de discapacidad cognitiva o intelectual como la dislexia, también pueden tener problemas a la hora de interpretar el texto que contiene un captcha.

El problema de los captcha aparece como uno de los principales problemas de accesibilidad de las páginas web en la actualidad.

¿Qué es un CAPTCHA? Problemas de accesibilidad (1/2)

Si no puedes ver el vídeo, prueba con alguno de los siguientes enlaces:

Transcripción

Hola, soy Sergio Luján Mora, profesor de la Universidad de Alicante, y con este videotutorial vas a aprender los problemas de accesibilidad que presentan los captcha.

En primer lugar, recordemos qué es un captcha. CAPTCHA es el acrónimo de "Completely Automated Public Turing test to tell Computers and Humans Apart". Traducido al castellano, "Prueba de Turing pública y automática para diferenciar máquinas y humanos".

Un captcha es una prueba de tipo desafío-respuesta que se utiliza para determinar cuándo el usuario de un sistema informático es o no humano.

Los captchas son esas imágenes con letras y números distorsionados que vemos en muchas páginas web como son los formularios de registro, las páginas de envío de comentarios a foros y blogs, y muchas otras páginas.

El objetivo de un captcha es distinguir a un ordenador de un ser humano, y de este modo, impedir que los robots (también llamados bots) realicen un uso indebido de un servicio, como por ejemplo enviar comentarios automáticos con spam a un foro o un blog.

El captcha se sustenta en la idea de que un ser humano podrá resolver la prueba sin problemas, mientras que un ordenador tendrá muchas dificultades o será incapaz de hacerlo y por tanto, de este modo lograremos impedir su acceso.

Desgraciadamente, cada vez más los captcha son más difíciles, se aplican más variaciones, más distorsiones y se introduce más ruido para dificultar la resolución por parte de los ordenadores, pero a su vez también son más difíciles para las personas.

Pero además, este tipo de captcha que se emplea normalmente, una imagen con texto distorsionado, no puede ser utilizado por algunos grupos de usuarios.

En concreto, los captcha bloquean el acceso a muchos usuarios que padecen algún tipo de discapacidad. Las personas con visión reducida, como pueden ser los daltónicos que tienen dificultades para distinguir algunas combinaciones de colores o las personas que usan magnificadores de pantalla para ampliar el tamaño de lo que se visualiza en una pantalla pueden tener graves problemas para distinguir el texto que se muestra en un captcha.

Por otro lado, es evidente que las personas ciegas que utilizan un lector de pantalla no pueden contestar los captcha basados en imágenes con texto en su interior, ya que estas imágenes no pueden incluir en el atributo "alt" de la etiqueta <img> el texto que aparece escrito en los captcha, ya que entonces un ordenador también lo podría leer y podría pasar la prueba.

Además, las personas con algún tipo de discapacidad cognitiva o intelectual como la dislexia, también pueden tener problemas a la hora de interpretar el texto que contiene un captcha.

El problema de los captcha aparece como uno de los principales problemas de accesibilidad de las páginas web en la actualidad.

WebAIM, una organización dedicada al estudio y divulgación de la accesibilidad web, ha realizado en los últimos años varias encuestas sobre el uso de lectores de pantalla (en inglés, screenreaders).

Los lectores de pantalla son el software que emplean las personas ciegas o con graves problemas de visión para utilizar el ordenador y, por tanto, navegar por la Web.

La segunda encuesta que realizaron en octubre de 2009 tenía varias preguntas sobre el empleo de imágenes en las páginas web. También había una pregunta sobre qué elementos eran los más problemáticos (difíciles y confusos) de las páginas web.

En los resultados obtenidos, los captcha aparecían en la primera posición, con un 28% de las respuestas. Por ello, los captcha suponen un grave problema de accesibilidad, que impide la participación activa en Internet de algunos usuarios.

Por ejemplo, la famosa enciclopedia Wikipedia muestra un captcha cuando se quiere modificar un artículo. Por tanto, una persona ciega no puede crear contenido en la Wikipedia.

O el sistema de correo de Yahoo! también muestra un captcha. En estos servicios, una persona con discapacidad necesita la ayuda de otra persona para poder participar.

¿No existe alguna alternativa?

¿No existen captchas accesibles?

Existen algunas alternativas, como vamos a ver a continuación, pero todas tienen algún problema y no hay ninguna alternativa que sea la solución perfecta.

Por ejemplo, cuando se quiere obtener una cuenta en Google Accounts para utilizar un servicio como Blogger o Gmail, se proporciona un captcha alternativo para las personas ciegas que consiste en escuchar un fragmento sonoro y escribir las letras y números que se escuchan. Este sistema también lo utilizan otras páginas web, como la de registro en Windows Live.

Vamos a probarlo.

Nos vamos a un navegador.

Estamos en la página de Windows Live para crear una cuenta nueva. Y tenemos este captcha visual con dos palabras que hay que escribir en este cuadro de texto. Además, tenemos la posibilidad de alternar a un captcha sonoro. Vamos a probarlo y vamos a ver qué se escucha. [Se escucha el captcha: unos números con ruido de fondo] Hemos oído como se han nombrado unos números que tendríamos que escribir en este cuadro de texto. Pero, al igual que el captcha visual, el captcha sonoro también incluye cierta distorsión, con lo cual a menudo son ininteligibles. Además, requieren de un ambiente silencioso para poder ser entendidos correctamente. También presentan un problema importante: el navegador del usuario debe admitir JavaScript y debe poseer ciertos complementos para poder reproducir el fragmento sonoro. Por último, los usuarios sordociegos, no podrán acceder ni al captcha visual ni al captcha sonoro. Comprobemos otro tipo de sitios web. ¿Son las redes sociales tan "sociales" como nos prometen? Hagamos una prueba con Twitter, vamos a ver que pasa con su captcha en la página de registro. Nos vamos otra vez al navegador, a la página principal de Twitter. Nos vamos a registrar como un nuevo usuario, este es el formulario de registro, como vemos esta en castellano. Pulso en el botón "Crear mi cuenta" y me aparece un captcha visual para que escriba las dos palabras que aparecen en la imagen. Además, también tenemos la opción de alternar a un captcha sonoro.

Vamos a oírlo.

[Se escucha una explicación en inglés]

[Se escucha el captcha: palabras con ruido de fondo]

[Se vuelve a escuchar todo una vez más]

Como vemos, bastante sorprendente, el formulario está en castellano, pero el captcha sonoro está en inglés. Para solucionar el problema de accesibilidad de los captcha han surgido algunas propuestas interesantes, pero ninguna es la panacea. WebVisum es un complemento para Firefox que permite a los usuarios con problemas de visión o con ceguera navegar e interactuar con las páginas web de una forma más sencilla. Entre sus funciones existe una ayuda para resolver los captcha. Este complemento para Firefox permite enviar a la gente de Webvisum la imagen de un captcha, ellos solucionan el captcha y devuelven la solución a quien lo ha solicitado.

En concreto: Supongamos que hemos accedido a una página web que contiene un captcha. Se pulsa el botón derecho del ratón sobre el captcha y se selecciona "Solve CAPTCHA" en el menú contextual. Con esto enviamos el captcha a la gente de Webvisum. Una notificación informa de que el captcha ha sido enviado y se está procesando, el tiempo de resolución depende de diversos factores. Cuando la solución del captcha se recibe, se muestra otra notificación con la solución y se indica que también se ha copiado al portapapeles. Se selecciona el cuadro de texto correspondiente y se pega la solución. Y, de esta forma, el formulario ya se puede enviar. Otra iniciativa parecida es la que ofrece el proyecto Solona, una comunidad de usuarios que ayudan a resolver los captcha a los usuarios ciegos registrados en su web. Este sistema es similar al anterior: una persona examina el captcha y lo resuelve de forma confidencial, enviando el resultado al otro usuario ciego. Sin embargo, como ya he comentado antes, estos sistemas no son la solución universal, más aún cuando están apareciendo nuevos tipos de captcha que son aún más inaccesibles para algunos grupos de usuarios.

Veamos algunas propuestas novedosas de captcha.

Por ejemplo, en el sitio web "They Make Apps" emplean un captcha que consiste en una barra de desplazamiento que hay que mover hasta cierto punto. Evidentemente, una persona ciega no puede resolver este captcha ni tampoco se puede resolver de formar remota empleando un sistema como Webvisum o Solona. Otra propuesta es la que podemos encontrar en el sitio web "Web Design beach" donde hay que arrastrar un objeto hasta una zona de la página. Vamos a probarlo. Nos vamos al navegador, a la página de "Web Design beach" y aquí tenemos el captcha visual. En este captcha, nos dan la instrucción de que para verificar que somos humanos debemos arrastrar el corazón al círculo. Si yo intento arrastrar cualquier otra de las imágenes, no podré, solamente puedo arrastrar el corazón. Y con esto ya podría enviar el formulario correctamente. Otro captcha alternativo es el de "Animal Captcha Test", donde hay que escribir el animal que aparece en una imagen distorsionada. Evidentemente, este captcha también es inaccesible para una persona ciega o con problemas cognitivos y seguramente mucha gente también tendrá problemas a la hora de nombrar ciertos animales. Otra captcha alternativo es el que podemos encontrar en "Captcha The Dog", donde se muestran nueve fotografías de animales y hay que acertar cuál es el perro. El proceso se repite un cierto número de veces hasta que todas las fotografías son del mismo animal, en este caso de gatos.

Vamos a probarlo.

Nos vamos al navegador, a la página web de "Captcha The Dog", y aquí tenemos el captcha. Y nos pregunta "cuál de estas cosas no es igual a las otras". Tenemos nueve fotografías, como podemos ver, ocho son de gato y hay una, que está aquí, que es un perro. La selecciono y se vuelve a cargar otro conjunto de fotografías donde ocurre lo mismo, ocho son de gato y una de perro. Vuelvo a seleccionar el perro y se vuelven a cargar nueve fotografías. Otra vez, tenemos ocho de gato y una de perro. Y, ya por fin, tenemos nueve fotografías que son de lo mismo, de gato. Cuando todas las fotografías son iguales, ya podemos enviar el formulario. Otra propuesta es la de "Imagination", donde se utiliza un doble sistema. En la primera prueba se muestra una imagen compuesta de varias imágenes y hay que marcar el centro geométrico de alguna de ellas. Por ejemplo, si yo elijo esta imagen, su centro geométrico estaría más o menos por aquí. En la segunda prueba de este captcha se muestra una imagen distorsionada que hay que etiquetar eligiendo una etiqueta de un conjunto que se propone. En este ejemplo, tendría que elegir la etiqueta "man" (hombre, en inglés). Otra propuesta es la de "Yuniti", donde se emplea un captcha que consiste en reconocer modelos tridimensionales de objetos y animales. Se muestra esta imagen con tres objetos, y para cada uno de ellos, hay que seleccionar un objeto similar de entre este conjunto de objetos. Otro captcha alternativo es el que propone "NuCaptcha Engage", donde se emplea un captcha parecido a los que estamos acostumbrados, pero en vez de emplear una imagen se utiliza un vídeo. Veamos como funciona. Nos vamos a la página de "NuCaptcha Engage" y aquí tenemos el captcha basado en vídeo. Sobre un vídeo se muestra cierto texto en movimiento. Y nosotros, lo que tenemos que hacer es escribir las tres letras que aparecen en rojo. Finalmente, otra propuesta es la que han desarrollado unos ingenieros de Google y que fue presentada en la World Wide Web Conference de 2009 que se celebró en Madrid. En esta propuesta, el captcha consiste en identificar la correcta orientación de una fotografía. Para ello se emplea una barra de desplazamiento que permite girar 360º la imagen que se tiene que orientar. Esta claro que esta solución tampoco es accesible, ya que las personas con deficiencia visual no lo podrán responder.

En resumen, hemos visto que los captcha que se emplean actualmente son inaccesibles para algunos grupos de usuarios. Lo mismo ocurre con los nuevos captcha que se están proponiendo. Pero es que además, los nuevos captcha son cada vez más complejos, más difíciles de entender. Y, por supuesto, en algunos de ellos existe la barrera del idioma, como hemos visto, que no solo afecta a las personas con discapacidad. Y con esto finalizo este videotutorial en el que te he explicado cuales son los problemas de accesibilidad que presentan los captcha. En la próxima parte de este videotutorial veremos qué soluciones hay a los captcha no accesibles. Si necesitas más información o quieres contactar conmigo, aquí tienes los datos.

¿Qué es un CAPTCHA? Problemas de accesibilidad (2/2)

Si no puedes ver el vídeo, prueba con alguno de los siguientes enlaces:

Transcripción

Hola, soy Sergio Luján Mora, profesor de la Universidad de Alicante, y con este videotutorial vas a aprender los problemas de accesibilidad que presentan los captcha. En la parte anterior de este videotutorial vimos los problemas de accesibilidad que presentan los captcha que se emplean normalmente. En esta segunda parte del videotutorial vamos a ver que soluciones hay para que los captcha sean accesibles. El World Wide Web Consortium, el consorcio internacional que desarrolla recomendaciones para la Web, como HTML o CSS, publicó en el año 2005 una nota donde analizaba el problema de los captcha y proponía seis posibles soluciones. Desgraciadamente, estas soluciones tampoco son la panacea (por eso propone seis soluciones) y algunas son muy difíciles de conseguir. Por otro lado, hay desarrolladores que han propuesto algunas alternativas a los captcha visuales. Estas alternativas se basan en el uso de captcha textual en vez de visual. Los desarrolladores que proponen estos captcha afirman que son accesibles, aunque esto no es del todo cierto, como veremos a continuación. Por ejemplo, en el portal Discapnet dedicado a las personas con discapacidad, se emplea un captcha donde se debe introducir la respuesta a una operación matemática sencilla. Este captcha presenta un problema de accesibilidad, ya que las personas con discapacidad cognitiva o intelectual pueden tener problemas. Además, es una mala solución ya que es fácil de sortear: no es difícil hacer un programa que calcule el resultado de la operación matemática. En la web manualdeusuario.es, se emplea un captcha donde hay que responder una pregunta sencilla como cuál es el color de la hierba o de qué color es la nieve. Esta solución plantea otra vez varios problemas. En primer lugar, otra vez las personas con discapacidad cognitiva o intelectual pueden tener problemas para resolver el captcha. Además, como podemos ver en este mismo ejemplo, existe el problema de la barrera del idioma. Y por último, ¿cuántas preguntas se pueden crear? Un buen captcha debe tener un número ilimitado de preguntas, que deben ser fáciles de crear y a ser posible de un modo automático. Este tipo de captcha sólo permite un conjunto limitado de preguntas. Otro ejemplo de intento de captcha accesible lo podemos encontrar en el sitio web alzado.org, en el que se emplean varios tipos de captcha. Por ejemplo, en este es necesario escribir la palabra que aparece en la tabla en las coordenadas indicadas. En este caso, sería la palabra guisante. Y en este otro tipo, se tiene que contestar la pregunta de cultura general que se realiza. En este caso se pregunta .El monumento de la foto se encuentra en el país de... Como la foto muestra la Torre Eiffel, hay que contestar Francia. Algunos problemas que presenta esta solución son similares a los de las propuestas anteriores: puede haber problemas con el nivel de cultura, las personas con discapacidad cognitiva también pueden tener problemas y continúa existiendo el problema de la barrera del idioma. Otra propuesta es el llamado Heyes Captcha, en la que el usuario tiene que pulsar una serie de teclas durante una serie de segundos para demostrar que es un ser humano. Vamos a probarlo. Nos vamos al navegador. Aquí estamos en la página web de Heyes Captcha. Y, las instrucciones nos dicen que tenemos que apretar la tecla E por 4 segundos. Para ello, nos situamos en esta casilla y pulsamos la tecla E. Vemos como el contador va avanzando y cuando llegue a 4, soltamos. Ahora nos dice que tenemos que pulsar la tecla J por 5 segundos. Así que repetimos la operación, pulsamos la tecla J durante 5 segundos. Y ahora pulsamos la tecla E por 2 segundos, y vemos que hemos pasado el test. Desgraciadamente, un sistema como este supone un problema de accesibilidad para aquellas personas que sufran algún tipo de discapacidad física que implique movilidad reducida, como puede ser la parálisis cerebral o la distrofia muscular, y que impida un control preciso de los interfaces de usuario. La idea más original y, quizás, la que más futuro tiene, es la que encontramos en el llamado Honeypot Captcha, el .captcha del tarro de miel.. En informática se denomina .honeypot. a un sistema que en realidad es una trampa, y cuya intención es atraer a los posibles atacantes de un sistema que se quiere proteger. La idea del Honeypot Captcha es ofrecer a los .bots. un .tarro de miel., para que acudan a él como las moscas a la miel. Sin embargo, se supone que un ser humano no caerá en la trampa. ¿Cómo funciona el Honeypot Captcha? Normalmente, una página web se compone al menos de dos partes: el código HTML y el código CSS. El código HTML define la estructura y contenido de la página web, mientras que el código CSS define la presentación de la página web (los colores, los tipos de letra, las posiciones, etc.). La clave del captcha del .tarro de miel. es explotar el hecho de que la mayoría de los .bots. actuales no interpretan el código CSS. Veamos un ejemplo sencillo de esta trampa. Por un lado, tenemos el código HTML de un formulario para dejar comentarios en un blog, que define un formulario similar a este. Este formulario se compone de los siguientes campos: el nombre, el email, el comentario y un campo que hay que dejar vacío y que es el .tarro de miel.. Por otro lado, tenemos el código CSS que oculta el campo del formulario que hace la función del .tarro de miel.. Como he dicho antes, la clave de esta trampa es explotar el hecho de que la mayoría de los .bots. no interpretan el código CSS. Un ser humano que utilice un navegador web normal verá la página web con la presentación definida en el CSS, y por tanto, el campo que hay que dejar vacío no lo verá y evidentemente, lo dejará vacío. Sin embargo, un .bot. verá la página web sin el CSS, verá el campo que hay que dejar vacío, y lo rellenará. Por tanto, cuando se reciba un comentario en el servidor, si se detecta información en el campo .Este campo hay que dejarlo vacío., se supondrá que es un .bot. quien está enviado el comentario, y se rechazará. Esta solución es muy simple y a su vez muy buena, ya que es muy fácil de implementar y es transparente para el usuario. Y por ser transparente, es totalmente accesible. Sin embargo, ¿qué ocurre cuando un usuario utiliza un navegador que no interpreta CSS? Además, la clave de este captcha es explotar el hecho de que en la actualidad la mayoría de los .bots. no interpretan el código CSS, pero no es raro suponer que en un futuro cercano sí que lo harán, y entonces este captcha dejará de ser útil. Otro captcha ingenioso es el que emplea WP Hashcash, un .plugin. para Wordpress, una de las plataformas de blog más extendida. En este caso, la clave de este captcha es explotar el hecho de que la mayoría de los .bots. tampoco interpretan el código JavaScript. Este .plugin. genera una función con valores aleatorios cada vez que se accede a una página con un formulario para dejar un comentario. Cuando se envía un comentario, también se envía el resultado de esta función. Si quien intenta enviar un comentario es un .bot., no ejecutará el código JavaScript, no enviará el resultado de esta función, y el comentario será rechazado. Esta solución tiene el mismo punto débil que el captcha del .tarro de miel.: los .bots. actuales no ejecutan JavaScript, pero no es raro suponer que en un futuro cercano sí que lo harán y entonces, este captcha dejará de ser útil. Sin embargo, este captcha tiene una característica más que solventa esta posible situación futura. El cálculo que realiza la función de JavaScript es lo que se conoce como .proof-of-work., traducido al castellano .prueba de trabajo.. La clave del .proof-of-work. es su asimetría: el trabajo debe ser moderadamente difícil (pero factible) por el lado del cliente, pero fácil de verificar por el lado del servidor. El cliente debe dedicar un tiempo a calcular el resultado del trabajo, por lo que supondrá una gran penalización para un .bot. que intenta enviar miles y miles de comentarios, ya que tendrá que repetir este trabajo miles y miles de veces. Sin embargo, para un único usuario no supone una penalización apreciable, ya que solamente lo hará una vez. Además, al ser asimétrica la prueba de trabajo, el servidor puede verificar el resultado en un tiempo casi nulo. Las ventajas y desventajas de esta propuesta son similares a las del captcha del .tarro de miel. que emplea CSS: es simple, transparente y accesible, siempre que el usuario utilice un navegador que admita JavaScript. Para finalizar. Hemos visto los problemas de accesibilidad que presentan los captcha actuales. Los nuevos captcha que se están proponiendo no solucionan este problema, ya que siguen siendo no accesibles. Incluso aquellos que se proponen como accesibles, en el fondo no lo son. La solución es emplear algún tipo de captcha transparente que no afecte a la interacción de un usuario con una página web. Hemos visto dos soluciones de este tipo, una basada en el empleo de CSS, y otra basada en el empleo de JavaScript. Pero tampoco son la solución completa. En realidad, es difícil que se llegue algún día a una solución total, ya que este es el típico juego del gato y el ratón, donde cada vez que se plantea un nuevo tipo de captcha, aparece un truco para saltarse ese captcha.

Y con esto finalizo este videotutorial en el que te he explicado cuales son los problemas de accesibilidad que presentan los captcha y qué posibles soluciones existen hoy en día para lograr que un captcha sea accesible.

Si necesitas más información o quieres contactar conmigo, en la página web http://accesibilidadweb.dlsi.ua.es podrás encontrar más información sobre accesibilidad web o también puedes contactar directamente conmigo a través de mi dirección de correo electrónico sergio.lujan@ua.es

Estándares, licencia y contacto