Todo tipo de información sobre accesibilidad en la Web: errores de accesibilidad, ejemplos de páginas inaccesibles, noticias, software, hardware, productos de apoyo, consejos, pautas y guías de accesibilidad, WAI, WCAG, Norma EN 301 549, legislación, etc.
Buscador
martes, 29 de enero de 2008
Serie "Guía breve": Scripts, applets y plug-ins
Algunos de los navegadores que emplean las personas discapacitadas no son capaces de interpretar el código de script (JavaScript) o algunos elementos multimedia como applets programados en Java u objetos realizados con Macromedia Flash que requieren de un plug-in. Además, aún en el caso de que pudiesen interpretarlos, sería muy difícil proporcionar una representación alternativa (por ejemplo, una representación textual para una animación de un applet).
Por regla general, el HTML Dinámico (DHTML) no funcionará con un navegador no visual y no será accesible. Cualquier efecto que se base en mostrar u ocultar capas como respuesta a un evento del ratón, como por ejemplo, menús desplegables o información adicional al pasar el ratón por encima de un elemento, no será accesible y es necesario proporcionar una alternativa.
En entradas anteriores se ha explicado cómo lograr que el código JavaScript sea accesible. Estas entradas han sido:
Un joystick vocal
Informáticos e ingenieros de la Universidad de Washington han creado un “Joystick Vocal” que permite mover el cursor del ordenador a personas discapacitadas. El sistema convierte sonidos vocálicos sencillos en movimientos del cursor sobre la pantalla. Asimismo, es capaz de simular los clics que hacemos con los botones derecho e izquierdo del ratón. Frente a otros sistemas, éste no requiere una gran inversión de hardware, ya que sólo precisa un micrófono y un ordenador para poder usarlo. Sus creadores han hecho otros desarrollos de esta tecnología para buscar en la web, jugar a juegos o manejar un brazo robótico.
Ratón con el movimiento de la cabeza
El dispositivo se basa en la utilización de una cámara de bajo coste para captar las acciones del usuario delante de la pantalla. Las personas con discapacidad motriz acceden al control del mouse a través de los movimientos de la cabeza con todas las funciones incorporadas de «arrastrar», mientras que las acciones faciales se convierten en diversas modalidades de «clic».
La página oficial del proyecto es HeadMouse (Grupo de Robótica, Universidad de Lérida).
Resulta que también existe un producto comercial con el mismo nombre: HeadMouse Extreme. ¿Qué diferencias hay entre uno y otro? ¿Por qué le ponen el mismo nombre?
lunes, 28 de enero de 2008
Ejemplo de vídeo con subtítulos
miércoles, 16 de enero de 2008
La versión demo de JAWS no se puede utilizar para evaluar
Según leo en JAWS license not developer friendly, la licencia dice en uno de sus párrafos:
… these demonstration or evaluation licenses are not permitted for purposes of development and testing of JAWS scripts, applications, HTML coding, or other Web Based code.
Así que, nos tenemos que comprar JAWS y pagar unos 900$.
jueves, 10 de enero de 2008
Nuevas leyes sobre accesibilidad web
Las nuevas leyes que se han promulgado complementan a las que ya se tenían desde hace unos años:
- BOE n. 166 de 12/7/2002: LEY 34/2002, de 11 de julio, de servicios de la sociedad de la información y de comercio electrónico.
- BOE n. 289 de 3/12/2003: LEY 51/2003, de 2 de diciembre, de igualdad de oportunidades, no discriminación y accesibilidad universal de las personas con discapacidad.
El 27 de diciembre de 2007 se publicó en el BOE la LEY 49/2007, de 26 de diciembre, por la que se establece el régimen de infracciones y sanciones en materia de igualdad de oportunidades, no discriminación y accesibilidad universal de las personas con discapacidad. Las infracciones serán multas entre los 301 euros y el millón de euros. Su entrada en vigor está fijada a los tres meses de su publicación.
El 29 de diciembre de 2007 se publicó en el BOE la LEY 56/2007, de 28 de diciembre, de Medidas de Impulso de la Sociedad de la Información. Esta ley obliga a las empresas que cumplan una serie de condiciones a satisfacer un nivel de accesibilidad en sus páginas web equivalente al nivel AA del W3C.
miércoles, 9 de enero de 2008
Llegó la hora de las empresas
A partir del 31 de diciembre de 2008, es decir, en 12 meses, una serie de empresas que cumplan una serie de condiciones, deberán de satisfacer en sus páginas web el nivel medio (prioridades 1 y 2) de la Norma UNE 139803:2004 (equivalente al nivel AA del W3C).
La noticia dice:
Las páginas de Internet de las empresas que presten servicios al público de especial trascendencia económica deberán alcanzar el 31 de diciembre de 2008 el nivel medio de los criterios de accesibilidad para personas con discapacidad, según establece la nueva Ley de Medidas de Impulso de Sociedad de la Información, que ya ha entrado en vigor.
Según esta nueva norma legal, son consideradas empresas que prestan servicios al público en general de especial trascendencia económica aquéllas con más de cien trabajadores o cuyo volumen anual de operaciones supere los seis millones de euros.
Además, deben operar en el sector de los servicios de las comunicaciones electrónicas o en servicios financieros destinados a consumidores, que incluyen los servicios bancarios, de crédito o de pago, los servicios de inversión, las operaciones de seguros privados, los planes de pensiones y la actividad de mediación de seguros.Hasta la aprobación de esta ley, la obligación de accesibilidad sólo vinculaba a las páginas de Internet de las Administraciones Públicas.
martes, 8 de enero de 2008
¿El portal de ayuntamiento más accesible?
La noticia dice:
El Ayuntamiento de Pamplona cuenta con el primer portal de internet que alcanza el 100% de éxito en el cumplimiento de los criterios de accesibilidad analizados por el Observatorio de la Infoaccesibilidad de la Fundación Once. Por esta razón será galardonado el próximo día 17 de enero, según informó el consistorio en un comunicado.
El estudio llevado a cabo por el Observatorio de la Infoaccesibilidad ha analizado 19 portales y 93 páginas web. El Ayuntamiento de Pamplona es el único que ha alcanzado la cota máxima. A continuación se han situado Bankinter, que supera el 81 por ciento en el cumplimiento de los criterios de referencia, y la Seguridad Social con su portal de vida laboral que presenta el 85,71 por ciento de éxito.
El estudio intersectorial el Observatorio de la Infoaccesibilidad revisa comparativamente el estado de accesibilidad de las webs y su evolución a lo largo de tres años. El Observatorio, para este estudio eligió 19 portales, los tres mejores en la evaluación técnica de accesibilidad de cada uno de los ocho informes/áreas observadas.
Estos informes abarcaban distintos campos: universidades, administración general del Estado, comunidades autónomas, ayuntamientos, viajes y transportes, banca y diarios digitales.
El propósito de los resultados publicados consiste en dar a conocer y destacar, además de niveles de cumplimiento respecto a las pautas vigentes, prácticas favorables y las principales barreras e impedimentos en la web, incluyendo en esta valoración la perspectiva de los usuarios.
lunes, 7 de enero de 2008
Ley de Medidas de Impulso de la Sociedad de la Información
La noticia dice:
El Boletín Oficial del Estado publicó, el pasado sábado 29 de diciembre, la Ley de Medidas de Impulso de la Sociedad de la Información (LMISI), que garantiza el acceso de las personas con discapacidad a la información en Internet y en otros soportes de nuevas tecnologías de la información y la comunicación.
Además, esta ley garantizará la accesibilidad de las cabinas telefónicas a los usuarios con alguna discapacidad, así como el establecimiento de una oferta tal que pueda cubrir la demanda nacional en todos las provincias.
La disposición adicional undécima de la LMISI recuerda también a las administraciones y entidades públicas su obligación de promover y garantizar el diseño accesibles para personas con discapacidad de todos los elementos y procesos basados en las nuevas tecnologías de la Sociedad de la Información.
Esta norma, que entró en vigor el pasado domingo 30 de diciembre, establece, además, que el incumplimiento de las medidas de acceso a la sociedad de la información será regulado por la ley de infracciones y sanciones que el BOE publicó el 27 de diciembre y que comenzará a funcionar pasados tres meses de su publicación en el BOE.
jueves, 20 de diciembre de 2007
Vídeos sobre accesibilidad web
jueves, 13 de diciembre de 2007
Legibilidad de una página web
El W3C, en la pauta 14 de sus Pautas de Accesibilidad al Contenido en la Web 1.0 nos dice:
Pauta 14. Asegúrese de que los documentos sean claros y simples.Esta herramienta nos puede ayudar a cumplir esta pauta.
Asegure que los documentos son claros y simples para que puedan ser más fácilmente comprendidos.
La maquetación coherente de páginas, los gráficos reconocibles y el lenguaje fácilmente comprensible benefician a todos los usuarios. En particular, ayudan a personas con discapacidades cognitivas o con dificultades en la lectura. (Por tanto, asegúrese de que las imágenes tienen textos equivalentes para los ciegos, los de baja visión o para cualquier usuario que no puede o ha elegido no ver los gráficos. Consulte también la pauta 1).
La utilización de un lenguaje claro y simple promueve una comunicación efectiva. El acceso a la información escrita puede ser difícil para personas con discapacidades cognitivas o de aprendizaje. La utilización de un lenguaje claro y simple también beneficia a las personas cuyo primer idioma es diferente al del autor, incluidos aquellos que se comunican principalmente mediante lengua de signos.
Puntos de verificación:
14.1 Utilice el lenguaje apropiado más claro y simple para el contenido de un sitio. [Prioridad 1]
Técnicas para el punto de verificación 14.1.
14.2 Complemente el texto con presentaciones gráficas o auditivas cuando ello facilite la comprensión de la página. [Prioridad 3]
Consultar también la pauta 1.
Técnicas para el punto de verificación 14.2.
14.3 Cree un estilo de presentación que sea coherente para todas las páginas. [Prioridad 3]
Técnicas para el punto de verificación 14.3.
Nuevo borrador de WCAG 2.0
En la entrada ¿Qué pasa con WCAG 2.0? comenté los problemas que está teniendo esta nueva recomendación.
miércoles, 5 de diciembre de 2007
JavaScript no molesto (5): validación de formularios
Los formularios se deben validar en el navegador por varias razones, las más importantes son:
- Disminuye el tiempo de respuesta de la aplicación: el usuario no tiene que esperar a que se envíen los datos al servidor, se validen en el servidor y se reciba una respuesta para saber si los datos están bien o están mal.
- Se reduce la carga de trabajo del servidor (no del todo, como ahora se explicará): en el servidor no se tienen que validar los formularios de todos los usuarios, en el navegador de cada usuario se validan los datos que ha introducido.
La segunda razón no es verdad en parte, porque SIEMPRE hay que validar los datos que se reciben en el servidor, ya que un usuario malicioso los puede enviar directamente, sin pasar antes por la validación de nuestro formulario. Por tanto, la solución que vamos a ver para separar el JavaScript del XHTML no supone un problema cuando no se dispone de JavaScript, ya que los datos serán validados en el servidor.
Sí que puede haber problemas cuando se emplea JavaScript para actualizar un control del formulario o una página web en función de las acciones del usuario. Por ejemplo, el típico caso de las listas desplegables en cascada (una lista que muestra sus valores en función de lo que se ha elegido en otra lista) realizado con JavaScript no funcionaría si está desactivado. Este problema es distinto al que se explica en esta entrada y merece una para él solo.
Consejo 1: no se debe usar botones de tipo button con el evento onclick para enviar un formulario
El código siguiente presenta un grave problema de accesibilidad: cuando JavaScript no está disponible, el formulario no se puede enviar.function validar() {
// Algunas instrucciones para validar
// Al final, si todo va bien, se envía el formulario
document.forms[0].submit();
}
function validar() {
// Algunas instrucciones para validar
// Al final, si todo va bien, se envía el formulario
document.forms[0].submit();
}
En el artículo A Guide to Unobtrusive JavaScript Validation se presentan técnicas para separar el código JavaScript que realiza la validación de un formulario:
- Utilizar campos ocultos (hidden) para indicar las validaciones que se tienen que realizar (valor requerido, correo electrónico, código postal).
- Utilizar el atributo class para indicar el tipo de validación.
- Crear un DTD propio para añadir atributos que indican el tipo de validación.
La primera opción es poco práctica, ya que no es adecuada para formularios complejos con muchos campos. La tercera opción tampoco es práctica, ya que una página web basada en un DTD propio no es una página válida respecto a XHTML. Por tanto, la opción más recomendable es la segunda.
En el class se pueden añadir valores para indicar el tipo de validación que requiere el control:
- required
- notrequired
- integer
- date
Por ejemplo:
Para más información sobre cómo lograr un manejo de formularios correcto con JavaScript:
- A Guide to Unobtrusive JavaScript Validation
- Unobtrusive Javascript
- Javascript no obstructivo, Manual de buenas maneras (traducción al español del anterior)
viernes, 30 de noviembre de 2007
III Premios TAW 2007
Reunido el jurado para la concesión de los III Premios TAW a la Accesibilidad Web, el día 15 de Noviembre de 2007 en la sede de la Fundación CTIC, resuelven conceder los premios por categorías a:
T.1. Premio TAW a la Web pública más Accesible I.
GANADOR: Sitio web Ministerio de Fomento
Finalista: Sitio web Ministerio de Cultura
Finalista: Sitio web Autoridad Administrativa CITES
T.2. Premio TAW a la Web pública más Accesible II.
GANADOR: Sitio Web Ayuntamiento de Madrid
Finalista: Sitio web Ayuntamiento de Ermua
Finalista: Sitio web Ayuntamiento de Murcia
T.3. Premio TAW a la Web Empresarial más Accesible I.
GANADOR: Sitio web Cajastur
Finalista: Sitio web Gamesa
Finalista: Sitio web Babel Sistemas de información
T.4. Premio TAW a la Web Empresarial más Accesible II.
GANADOR: Sitio web Cafetto Kaldi
Finalista: Sitio web Serviweb S.L.
Finalista: Sitio web Gateway S.C.S.
T.5. Premio TAW a la Web de entidades sin ánimo de lucro más Accesible.
GANADOR: Sitio web Aspaym Cantabria
Finalista: Sitio web Asociación Síndrome Prader-Willi
Finalista: Sitio web Fundación Estudios e Análises
T.6. Premio TAW al Mejor Proyecto en Accesibilidad Web.
El jurado declara desierta esta categoría.
Facilidades para el acceso a la administración electrónica
Las personas con discapacidad podrán acceder a la administración electrónica con mayor facilidad, gracias a la firma de un convenio firmado entre la Fundación ONCE y la Fundación Europea para la Sociedad de la Información y la Administración Electrónica.
El convenio, entre otros puntos, incluye el desarrollo de una herramienta informática para permitir el uso de todos los programas del Servicio Administratel a las personas con discapacidad, incluyendo aquellas que poseen una discapacidad visual severa.
¿Qué es Administratel? Pues no lo sé, pero esta es la página web de Administratel.
Esquinas redondeadas
- Se suelen basar en el empleo de imágenes, lo que origina un aumento en el peso de la página (aumenta el tiempo de carga) y origina problemas de mantenimiento (por ejemplo, si se desea cambiar los colores hay que cambiar las imágenes).
- Al utilizar imágenes puede ocasionar problemas de accesibilidad o, al menos, molestar a los usuarios que empleen un lector de pantallas.
Un ejemplo de página que usa este script:
¿Cómo se consigue? En Nifty Corners: rounded corners without images (la primera versión de este script) se explica el truco.
jueves, 29 de noviembre de 2007
Lector de pantalla para teléfonos móviles
Control cerebral del ordenador
Esta técnica se conoce como control cerebral o control neural. Evidentemente, no se tiene que limitar exclusivamente a Second Life, se puede emplear para cualquier otra tarea, como por ejemplo navegar por Internet.
Hay más gente que está trabajando en este tema e incluso ya hay algunas empresas que venden estos dispositivos, aunque por ahora no son muy precisos y requieren de un entrenamiento previo largo (que el ordenador aprenda a interpretar las señales que emite el cerebro). Algunso artículos sobre el tema:
miércoles, 28 de noviembre de 2007
JavaScript no molesto (4): separación del JavaScript
Sí, sí que se puede. Una página web se puede construir mediante capas:
- Capa de contenido: la estructura y el contenido con etiquetas de XHTML.
- Capa de presentación: la presentación del contenido definida con CSS.
- Capa de comportamiento: el comportamiento del contenido (por ejemplo, la respuesta ante una acción del usuario) definido con JavaScript.
Con un diseño basado en capas logramos reducir el acomplamiento entre los distintos componentes (contenido, presentación y comportamiento), lo que se traduce en importantes beneficios: disminución de los errores, reducción en los costes de mantenimiento, etc. Pero además, una página web construida de esta forma (que se conoce como progressive enhancement) casi siempre es graceful degradation, y por tanto la página web funcionará correctamente aun en el caso de que falte algún tipo de componente (CSS o JavaScript).
¿Cómo se puede lograr esto? En el código HTML no vamos a escribir ni una sola línea de código JavaScript. Más aun, tampoco se van a emplear los manejadores de eventos como onclick, onblur, etc.
Desde JavaScript, se puede asignar código de JavaScript a un manejador de eventos con el siguiente código:
elemento.evento = acccion;
Para seleccionar un elemento de la página web (una celda en una tabla, un botón en un formulario, un enlace, etc.) se puede emplear:
- getElementById(id): selecciona el emento indicado por el id.
- Usar una combinación de getElementsByTagName(etiqueta) y getAttribute(atributo) para seleccionar elementos con un atributo específico.
En la entrada JavaScript no molesto (3): las ventanas emergentes se puso como ejemplo los enlaces que se abren en ventanas emergentes. Para indicar que un enlace es de este tipo, vamos a añadir al atributo class un valor que no se emplea en el CSS, pero que desde CSS nos va a permitir saber que se trata de una ventana emergente:
En el atributo class, el valor estilo se emplea en el CSS para asignar una presentación concreta, mientas que el atributo popup se emplea en JavaScript para identificar los enlaces que se tienen que abrir en ventanas emergentes:
window.onload = prepareLinks;
function prepareLinks() {
var links = document.getElementsByTagName("a");
for (var i=0; i= 0) {
links[i].onclick = function() {
popUp(this.getAttribute("href"));
return false;
}
}
}
}
function popUp(winURL) {
window.open(winURL,"popup","width=320,height=480");
}
En el código anterior se realizan los siguientes pasos:
- Se asigna al evento onload la función prepareLinks: esta función será llamada automáticamente cuando la página termine de cargarse.
- La función prepareLinks obtiene un array con todos los enlaces de la página web.
- Para cada enlace, se comprueba si el atributo class contiene el valor popup.
- Si el enlace está marcado como popup, le asigna una función de JavaScript al evento onclick.
martes, 27 de noviembre de 2007
JavaScript no molesto (3): las ventanas emergentes
En el caso de estas últimas, lo normal es que se abran tras pulsar el usuario sobre un enlace o un botón. El uso de botones con el evento onclick se debería evitar, ya que supone una barrera de accesibilidad en el caso de que JavaScript no esté disponible. Por tanto, nos vamos a centrar en las ventanas emergentes activadas al pulsar sobre un enlace.
En el href de un enlace se puede utilizar directamente JavaScript. Por ejemplo, suponiendo que tenemos la función popUp que abre una ventana emergente:
simplemente tenemos que escribir javascript:popUp('http://www.ua.es/') en la dirección del enlace. También se puede emplear el evento onclick y dejar la dirección en blanco o poner el símbolo "#":
function popUp(winURL) {
window.open(winURL,"popup","width=320,height=480");
}
La solución es muy sencilla:
- Añadir en el enlace una URL al contenido que se desea visualizar.
- En el código JavaScript, añadir return false; al final para evitar que se ejecute el enlace cuando se ejecute el código JavaScript. La URL del enlace indicada con href sólo será empleada cuando JavaScript no esté disponible.
La solución anterior se puede mejorar para evitar el tener que repetir la URL tanto en el enlace como en el evento onclick:
- Dificulta la escritura.
- Dificulta la lectura.
- Dificulta el mantenimiento.
¿No se puede separar el código JavaScript del código HTML como se hace con CSS?