11 de febrero de 2015

Que es la accesibilidad web: pautas, técnicas y herramientas

Una página o sitio web es accesible cuando está diseñado y codificado de forma que sus contenidos y servicios estén disponibles para cualquier persona, con independencia de su contexto de navegación. Ésto va a permitir que las personas con algún tipo de discapacidad, puedan percibir, entender, navegar e interactuar con la Web, aportando a su vez contenidos.

Según el último informe mundial sobre la discapacidad de la Organización Mundial de la Salud, más de mil millones de personas viven en todo el mundo con alguna forma de discapacidad; de ellas, casi 200 millones experimentan dificultades considerables en su funcionamiento.

Entre los beneficiarios de la accesibilidad web se encuentran:

  • Usuarios que usan traductores a voz, braille... y usuarios en general que no disponen de tarjeta de sonido o usan navegadores en modo texto.
  • Usuarios con dificultad para distinguir colores, usuarios con sistemas monocromos.
  • Usuarios con dificultades oculares que tienen que aumentar el tamaño de letra de una página web.
  • Usuarios con epilepsia fotosensible.
  • Usuarios con navegadores desfasados o que han deshabilitado servicios de su navegador.
  • Usuarios con dificultades motrices que no son capaces de interactuar con objetos en movimiento.
  • Usuarios que no disponen de ratón o no lo pueden usar.
  • Usuarios con dificultades cognitivas
El Director y Creador de la World Wide Web, Tim Berners-Lee, dice que "El poder de la Web está en su universalidad. El acceso de todo el mundo con independencia de su discapacidad es un aspecto esencial."
Para alcanzar este objetivo se han ido proponiendo una serie de pautas que persiguen hacer más accesibles los contenidos Web.

El país pionero a la hora de legislar sobre el acceso a la información de las personas discapacitadas es Estados Unidos, y tras él han sido muchos los países que han incluido en sus leyes aspectos relativos a la accesibilidad en los sitios web públicos.

A nivel europeo, la Comisión Europea junto con el Consejo Europea está promoviendo el desarrollo de una Internet accesible para todos, con la Iniciativa eEuropa que pretende que las administraciones públicas de los estados miembros mejoren el nivel de accesibilidad en sus páginas y las organizaciones que reciban fondos públicos deberán hacer que sus sitios web sean accesibles.

La Iniciativa de Accesibilidad a la Web del W3C (WAI) fundada en 1997, recibe el apoyo de los principales actores de la industria y los gobiernos del mundo y se dedica a promover soluciones de accesibilidad en la web para personas con discapacidades.
Esta iniciativa trabaja en definitiva para el desarrollo del potencial de la web.

La WAI actúa principalmente sobre cinco áreas de trabajo:

  • Asegurar que las tecnologías web den soporte a la accesibilidad
  • Desarrollar pautas de accesibilidad
  • Crear herramientas de evaluación y corrección de la accesibilidad web
  • Desarrollar materiales para la educación y difusión
  • Coordinar proyectos de investigación y desarrollo
La accesibilidad web incluye los contenidos y aplicaciones, los navegadores y reproductores multimedia, las herramientas de autor y las tecnologías XML.
La WAI ha propuesto para cada una de estas necesidades unas pautas a seguir.

Niveles de accesibilidad

El WAI tiene, actualmente, tres niveles de accesibilidad.
Para que una página sea totalmente accesible debe cumplir, al menos el nivel doble AA y contar con una buena usabilidad.

  • Nivel A (Prioridad 1): el desarrollador tiene que satisfacer estos puntos de verificación, si no, algunos grupos de personas serán incapaces de acceder a la información de un sitio. WAI A
  • Nivel AA (Prioridad 2): el desarrollador debe satisfacer estos puntos, de lo contrario, alguien encontrará muchas dificultades para acceder a la información. WAI AA
  • Nivel AAA (Prioridad 3): el desarollador puede satisfacer estos puntos, de lo contrario, algunas personas hallarán dificultades para aceeder la la información. WAI AAA
Puntos de verificación Prioridad 1

En General:

  • Proporcionar un texto equivalente para todo elemento no textual (p. ej. A través de alt, longdesc o en el contenido del elemento). Esto incluye: imágenes, representaciones gráficas del texto, mapas de imagen, animaciones (p. ej. GIFs animados), applets y objetos programados, ASCII art, marcos, scripts, imágenes usadas como viñetas en las listas, espaciadores, botones gráficos, sonidos (utilizados con o sin interacción), archivos exclusivamente auditivos, banda sonora del vídeo y vídeos.
  • Asegurar que toda la información transmitida a través de los colores también esté disponible sin color, por ejemplo mediante el contexto o por marcadores.
  • Identificar claramente los cambios en el idioma original del texto del documento y en cualquier texto equivalente (p. ej. leyendas).
  • Organizar el documento de forma que pueda ser leído sin hoja de estilo. Por ejemplo, cuando un documento HTML es interpretado sin asociarlo a una hoja de estilo, tiene que ser posible leerlo.
  • Asegurar que los equivalentes de un contenido dinámico son actualizados cuando cambia el contenido dinámico.
  • Hasta que las aplicaciones de usuario permitan controlarlo, evitar provocar parpadeo en la pantalla.
  • Utilizar el lenguaje apropiado más claro y simple para el contenido de un sitio.
Si se utilizan imágenes y mapas de imágenes:

  • Proporcionar vínculos de texto redundantes con cada zona activa de un mapa de imagen del servidor.
  • Proporcionar mapas de imágenes controlados por el cliente en lugar de por el servidor, excepto donde las zonas sensibles no puedan ser definidas con una forma geométrica.
Si utiliza tablas:

  • En las tablas de datos, identificar los encabezamientos de fila y columna.
  • Para las tablas de datos que tienen dos o más niveles lógicos de encabezamientos de fila o columna, utilizar marcadores para asociar las celdas de encabezamiento y las celdas de datos.
Si utiliza marcos (frames):

  • Titular cada marco para facilitar la identificación y navegación de los mismos.
Si utiliza applets y scripts:

  • Asegurarse de que las páginas sigan siendo utilizables cuando se desconecten o no se soporten los scripts, applets u otros objetos de programación. Si esto no es posible, proporcionar información equivalente en una página alternativa accesible.
Si utiliza multimedia:

  • Proporcionar una descripción autiditiva de la información importante de la banda visual de una presentación multimedia, hasta que las aplicaciones de usuario puedan leer automáticamente el texto equivalente de la banda visual.
  • Para toda presentación multimedia tempodependiente (p. ej. una película o animación) sincronizar alternativas equivalentes (p. ej. subtítulos o descripciones de la banda visual) con la presentación.
Y si todo lo demás falla:

  • Si, después de los mayores esfuerzos, no puede crear una página accesible, proporcione un vínculo a una página alternativa que use tecnologías W3C, sea accesible, tenga información equivalente (o funcional) y sea actualizada tan a menudo como la página (original) inaccesible.
Puntos de verificación Prioridad 2

En General:

  • Asegurarse de que las combinaciones de los colores de fondo y primer plano tengan el suficiente contraste para que sean percibidos por personas con deficiencias de percepción de color o por pantallas en blanco y negro.
  • Utilizar marcadores en vez de imágenes para transmitir la información cuando exista un marcador apropiado.
  • Crear documentos que estén validados por las gramáticas formales publicadas.
  • Utilizar hojas de estilo para controlar la maquetación y presentación.
  • Utilizar unidades relativas en lugar de absolutas al especificar los valores en los atributos de los marcadores de lenguaje y en los valores de las propiedades de las hojas de estilo.
  • Utilizar elementos de encabezado para transmitir la estructura lógica y hacerlo de acuerdo con la especificación.
  • Marcar las listas y los puntos de las listas correctamente.
  • Marcar las citas. No utilizar el marcador de citas para efectos de formato tales como sangrías.
  • Asegurar que los contenidos dinámicos son accesibles o proporcionar una página o presentación alternativa.
  • Evitar el parpadeo del contenido (por ejemplo, cambio de presentación en periodos regulares, así como el encendido y apagado) hasta que las aplicaciones de usuario permitan controlarlo.
  • No crear páginas que se actualicen automáticamente de forma periódica hasta que las aplicaciones de usuario proporcionen la posibilidad de detener las actualizaciones.
  • No utilizar marcadores para redirigir las páginas automáticamente hasta que las aplicaciones de usuario proporcionen la posibilidad de detener el redireccionamiento automático. En su lugar, configurar el servidor para que ejecute esta posibilidad.
  • No provocar apariciones repentinas de nuevas ventanas y no cambiar la ventana actual sin informar al usuario hasta que las aplicaciones de usuario permitan desconectar la apertura de nuevas ventanas.
  • Utilizar tecnologías W3C cuando estén disponibles y sean apropiadas para la tarea, y usar las últimas versiones cuando sean soportadas.
  • Evitar características desaconsejadas por las tecnologías W3C.
  • Dividir los bloques largos de información en grupos más manejables cuando sea natural y apropiado.
  • Identificar claramente el objetivo de cada vínculo.
  • Proporcionar meta datos para añadir información semántica a las páginas y sitios.
  • Proporcionar información sobre la maquetación general de un sitio (p ej. mapa del sitio o tabla de contenidos).
  • Utilizar los mecanismos de navegación de forma coherente.
Si utiliza tablas:

  • No utilizar tablas para maquetar, a menos que la tabla tenga sentido cuando se alinee. Por otro lado, si la tabla no tiene sentido, proporcionar una alternativa equivalente (la cual debe ser una versión alineada).
  • No utilizar marcadores estructurales para realizar un formateo visual si se utiliza una tabla para maquetar.
Si utiliza marcos (frames):

  • Describir el propósito de los marcos y cómo éstos se relacionan entre sí, si no resulta obvio solamente con el título del marco.
Si utiliza formularios:

  • Para todos los controles de formularios con etiquetas asociadas implícitamente, asegurar que la etiqueta está colocada adecuadamente, hasta que las aplicaciones de usuario soporten explícitamente la asociación entre control de formulario y etiqueta.
  • Asociar explícitamente las etiquetas con sus controles.
Si utiliza applets y scripts:

  • Para los scripts y applets, asegurarse de que los manejadores de eventos sean entradas independientes del dispositivo.
  • Evitar los movimientos en las páginas hasta que las aplicaciones de usuario permitan congelar el movimiento de los contenidos.
  • Hacer que los elementos de programación, tales como scripts y applets, directamente accesibles o compatibles con las ayudas técnicas.
  • Asegurar que cualquier elemento que tiene su propia interfaz pueda manejarse independiente del dispositivo.
  • Para scripts, especificar manejadores de eventos lógicos mejor que manejadores de eventos dependientes de dispositivos.
Puntos de verificación Prioridad 3

En General:

  • Especificar la expansión de cada abreviatura y acrónimo en el documento cuando aparezca por primera vez.
  • Identificar el idioma principal de un documento.
  • Crear un orden lógico para navegar con el tabulador a través de vínculos, controles de formulario y objetos.
  • Proporcionar atajos de teclado para los vínculos más importantes (incluidos los de los mapas de imagen de cliente), los controles de formulario y los grupos de controles de formulario.
  • Incluir caracteres imprimibles (rodeados de espacios), que no sirvan como vínculo, entre los vínculos contiguos, hasta que las aplicaciones de usuario (incluidas las ayudas técnicas) interpreten claramente los vínculos contiguos.
  • Proporcionar la información de modo que los usuarios puedan recibir los documentos según sus preferencias (p. ej. idioma, tipo de contenido, etc.).
  • Proporcionar barras de navegación para destacar y dar acceso al mecanismo de navegación.
  • Agrupar los vínculos relacionados, identificar el grupo (para las aplicaciones de usuario) y proporcionar una manera de evitar el grupo hasta que las aplicaciones de usuario lo hagan.
  • Si proporciona una función de búsqueda, permitir diferentes tipos de búsqueda para diversos niveles de habilidad y preferencias.
  • Localizar la información destacada al principio de los encabezamientos, párrafos, listas, ec...
  • Proporcionar la información sobre las colecciones de documentos (por ejemplo, los documentos que comprendan múltiples páginas).
  • Proporcionar un medio para saltar sobre un ASCII art de varias líneas.
  • Complementar el texto con presentaciones gráficas o auditivas cuando ello facilite la comprensión de la página.
  • Crear un estilo de presentación que sea coherente para todas las páginas.
Si se utilizan imágenes y mapas de imágenes:

  • Proporcionar vínculos de texto redundantes para cada zona activa del mapa de imagen de cliente hasta que las aplicaciones de usuario interpreten el texto equivalente para los vínculos de los mapas de imagen de cliente.
Si utiliza tablas:

  • Proporcionar resúmenes de las tablas
  • Proporcionar abreviaturas para las etiquetas de encabezamiento.
  • Proporcionar un texto lineal alternativo (en la página actual o en alguna otra) para todas las tablas que maquetan texto en paralelo, en columnas de palabras, hasta que las aplicaciones de usuario (incluidas las ayudas técnicas) interpreten correctamente los textos contiguos.
Si utiliza formularios:

  • Incluir caracteres por defecto en los cuadros de edición y áreas de texto hasta que las aplicaciones de usuario manejen correctamente los controles vacíos.
Herramientas de validación

Para evaluar la accesibilidad de un sitio web, se hace uso de las ayudas técnicas y las estrategias de acceso siguiendo un proceso manual.
Sin embargo, existe un gran número de herramientas automáticas de validación, genéricas (validadores de sintaxis del lenguaje de marcado o de las hojas de estilo) y especificas de accesibilidad.
Estas herramientas son de gran ayuda, tanto en el desarrollo como en el mantenimiento de una web, pero no garantizan al 100% la accesibilidad de un sitio.

Herramientas Genéricas Versión Online Versión Instalable Gratuíta Comentarios
Markup Validation Service v0.6.7 Servicios de validación HTML, también valida HTML, XHTML, XML, MathML según el tipo indicado en el documento.
CSS Validation Service 2.0 Servicios de validación de hojas de estilo (Cascading Style Sheet).
HTML Tidy Servicios de limpieza del código HTML, interface por línea de comandos o interface gráfica, todas la plataformas, proyecto "open source"

Versión Online, que te muestra el código HTML resultante por pantalla:
Tidy Online - http://cgi.w3.org/cgi-bin/tidy

Herramientas Específicas Versión Online Versión Instalable Gratuíta Comentarios
Cynthia Says de ICDRI y HiSoftware Validador de accesibilidad que permite seleccionar las pautas de accesibilidad, tanto el WCAG como la Seccion 508, validar contenidos dinámicos con un emulador, detecta errores en los enlaces, reconoce código javascript, objetos multimedia, etc. La versión en línea solo permite una página por minuto pero es gratuita.
TAW de la Fundación CTIC y el SIDAR El Test de Accesibilidad Web, es una herramienta web para el análisis e información del grado de accesibilidad que presentan otras web.
Se puede descargar una versión para ejecutarla en local.
WAVE de Temple University Institute on Disabilities y WebAIM Este es otra herramienta de validación, es muy útil para evaluar los puntos básicos de la accesibilidad de un sitio web, incluye las WCAG 1.0 y la Sección 508.
Existen cuatro modos de validación:
1. Validar un dirección web pública
2. Validar un fichero local (upload)
3. Instalar una barra de tareas en el navegador
4. Añadir WAVE a los "bookmarklet" del navegador
A-Prompt de la Univeridad de Toronto A-Prompt esta realizado por la Universidad de Toronto, es una herramienta para validar la accesibilidad de un sitio web y al mismo tiempo ayuda a autor a corregir los problemas o propone soluciones.
Solo trabaja con ficheros locales por lo que no es muy útil para páginas dinámicas.

Herramientas de Apoyo Comentarios
Color Laboratory Este programa permite seleccionar colores para ver el resultado final con un fondo u otro, y de este modo poder ver el contraste de las distintas combinaciones.
Color Filter En esta página se pueden realizar distintos filtros en función de tipo de ceguera de color que se quiera simular. Se pueden aplicar filtros a páginas web y a imágenes.
Vischeck Es un simulador de la ceguera de color. Existe una versión online y un plug-in para el Photoshop.
MAGpie de NCAM Esta herramienta permite a los desarrolladores añadir subtítulos para videos de QuickTime, Windows Media o SMIL, y añadir descripciones de audio para SMIL.
W3C Link Checker Validador del W3C online, detecta los enlaces rotos y puede recorrer los enlaces dentro de un sitio web hasta la profundidad especificada.
XENU Herramienta para comprobar si existe algun enlace roto, dirección de imagen o cualquier otro fichero. Se puede ejecutar en local y permite configurar la profundidad, el tipo de enlaces, y las zonas del sitio que no se deseen evaluar.

Complementos para navegadores Aplicable Comentarios
Complex Table Inspector Todos Un favelet (pequeño fragmento de código JavaScript que se almacena como "favorito" en el navegador) que permite visualizar la información sobre una tabla que suele estar oculta en los navegadores visuales: summary, headers, axis, scope y abbr.
Favelets For The Validator Todos Varios favelets del W3C que permiten validar el código HTML de la página que se está visualizando.
NCAM Accessibility QA Favelet Todos Un favelet que realiza varios análisis que permiten localizar problemas de accesibilidad en una página web.
Web Developer Todos Añade un menú y una barra de herramientas con numerosas opciones que ayudan a desarrollar páginas web. Además, este complemento se puede emplear para revisar la accesibilidad de un sitio web.
La extensión está disponible para Chrome, Firefox y Opera y se ejecutará en cualquier plataforma compatible con estos navegadores, incluyendo Windows y Linux.
Chrome Web Developer Tools Google Chrome Un clon del complemento Web Developer para Mozilla Firefox.
Firebug Lite Google Chrome Permite editar y corregir errores en el HTML, CSS y JavaScript en "vivo" en cualquier página web.
IE Tab Google Chrome Permite ver una página web dentro de Chrome a través del motor de Microsoft Internet Explorer.
DebugBar Microsoft Internet Explorer Contiene las siguientes utilidades: DOM Inspector (visualiza y permite modificar etiquetas y atributos de CSS), HTTP Inspector (visualiza las peticiones HTTP/S, las cookies y los parámetros pasados por GET y POST), Javascript Inspector y Javascript Console, HTML Validator y otras funciones. Es gratuito para uso personal.
Internet Explorer Developer Toolbar Microsoft Internet Explorer Proporciona un conjunto de herramientas para validar la sintaxis del HTML y el CSS de una página, explorar y modificar el DOM de una página, mostrar información sobre las imágenes de una página como sus dimensiones o su texto alternativo, visualizar y borrar las cookies de una página, etc.
Web Accessibility Toolbar Microsoft Internet Explorer Ayuda a inspeccionar las páginas web y comprobar si se cumplen los criterios de accesibilidad. Entre otras cosas, permite: identificar los componentes de una página web, facilita el uso de aplicaciones online, simula la "experiencia" de algunos tipos de usuarios (básicamente, usuarios con algún problema de visión) y proporciona enlaces a guías de referencia y otros recursos.
Fangs - the screen reader emulator Mozilla Firefox Crea una versión textual de una página web similar a cómo lee la página un lector de pantallas. Añade un menú contextual al navegador que abre una nueva ventana donde se puede ver la versión textual, la lista de encabezados y la lista de enlaces de la página.
HeadingsMap Mozilla Firefox Crea un índice o mapa de los encabezados de una página web. Además, este complemento permite navegar por la página web saltando de un encabezado a otro, tal como lo hacen los usuarios que utilizan un lector de pantallas.
Juicy Studio Accessibility Toolbar Mozilla Firefox Realiza tres funciones: permite examinar los roles y propiedades de las regiones activas de WAI-ARIA, permite examinar las tablas de datos y determina si el contraste de color es suficiente. Más información: Examining WAI-ARIA Live Regions.
Link Widgets Mozilla Firefox Facilita la navegación entre páginas que forman una secuencia al añadir una barra de botones para ir a la primera, anterior, siguiente y última página. Para ello emplea la etiqueta o lo adivina a partir del texto de los enlaces.
Textise Mozilla Firefox Crea una versión textual de una página web.
WCAG Contrast checker Mozilla Firefox Permite comprobar el grado de cumplimiento de los niveles de contraste, luminosidad y brillo en la combinación de colores de los contenidos textuales en base a los requerimientos de las WCAG 1 y WCAG 2.
X-Ray Mozilla Firefox Permite visualizar las etiquetas HTML de una página web sobre la misma página web, sin tener que ver el código fuente.


Extracto del curso Accesibilidad en Internet y del Curso Avanzado sobre Diseño de Sitios Web impartidos por la Fundación Instituto de Ciencias del Hombre en colaboración con el Ministerio de Industria, Turismo y Comercio.


2 comentarios:

diseño web Madrid dijo...

Me ha encantado el blog y como lo has ido explicando, seguro que son consejos que nos ayudan a mejorar poco a poco así que me los apunto sino te importa, gracias Jose María

Jose Maria Acuña Morgado dijo...

Gracias a vosotros :)
Saludos!