| |

W3C: fallos de accesibilidad (III)

Seguimos con los fallos más frecuentes en accesibilidad que la W3C nos recuerda.

Cambio de contexto cuando se quita el foco a un elemento en un formulario

Este error ocurre cuando un elemento de un formulario pierde el foco y cambia el contexto de la página, por ejemplo debido a que se hace un submit del formulario.

Obtener el foco de un elemento con el teclado y no poder salir usando el teclado

Este fallo no es demasiado frecuente, pero se da cuando navegando mediante el teclado, entramos en el contenido de un elemento (por ejemplo un plugin que nos muestra un formato específico como SVG) y no podemos volver al contenido principal, o salir de este elemento usando el teclado.

Tener un time-out para la sesión sin ofrecer la posibilidad de guardar la información para recuperarla cuando re-auntentiquemos

Muchos servicios web necesitan autenticación y suelen disponer de un sistema de time-out para finalizar la sesión cuando ha habido un tiempo largo de espera sin actividad. Personas con discapacidad pueden necesitar más tiempo de lo normal para realizar una acción (por ejemplo rellenar un formulario), si la sesión le finaliza, sin la posibilidad de recuperar el estado en el que se estaba antes de finalizar la sesión, la persona deberá volver a empezar de nuevo, por lo que es posible que tampoco pueda finalizar la acción.

Texto alternativo no representa correctamente el texto original ya que este muestra información debido a diferencia de colores

Supongamos que tenemos una gráfica de barras en las que se muestra la población masculina y femenina según los paises de una región. Para distinguir qué datos pertenecen a uno u otro género, se muestra usando dos colores: azul hombres, rojo mujeres. El texto alternativo de esa imagen suele indicar las cantidades, pero no a qué genero pertenece.

Más información

| |

W3C: fallos de accesibilidad (II)

Seguimos con los fallos de accesibilidad que se suelen cometer en el desarrollo web, que nos ofrece la W3C y que empezamos a tratar hace unos días.

Mostrar imágenes con información importante mediante estilos

Se trata de usar una imagen que contiene información (por ejemplo para los enlaces del menú) y mostrarla como fondo de un elemento y que no haya un texto que indique el contenido de la imagen.

Una solución es escribir el texto pero no hacerlo visible, para ello usaremos la propiedad text-ident, si le damos un valor negativo elevado el texto desaparecerá por la izquierda. Por ejemplo, tenemos una imagen titulo.png que tiene el título del blog con un diseño especial, lógicamente queremos que se vea así por temas de diseño e imagen. Ahora bien, si solo mostramos la imagen, no somos capaces de leer el contenido de esta. Por ello tendremos que hacer lo siguiente para que el texto aparezca sin que haya estilos y con estilos solo aparezca la imagen:

h1 {
background: url(titulo.png);
width: 200px;
height: 100px;
text-indent: -10000px;
}
<h1>Título</h1>

Usar el estilo blink sin el mecanismo para parar el parpadeo

Esta es corta, no uses jamás text-decoration: blink. Y si por un casual no te queda otra posibilidad que usarlo, crea un script que pare el parpadeo a los 3 segundos.

Usar un applet o un flash que parpadee sin el mecanismo para pararlos

Lo mismo que el punto anterior, pero enfocado a applets y a animaciones Flash.

Usar subtítulos que omiten parte del diálogo o sonidos importantes

Si vas a ofrecer un sonido, una conversación y no muestras los subtítulos con todo el contenido (conversación y sonidos destacados), no se trata de un buen subtítulo y puede haber información importante que se escape.

Más información

| |

W3C: fallos de accesibilidad (I)

Hoy vamos a empezar una serie de artículos en los que pretendemos explicar los fallos que se cometen en accesibilidad cuando se realizan aplicaciones web y las técnicas que debemos usar para evitar estos fallos. Para ello nos basamos en lo que especifica la W3C en su WCAG 2.0 (aún en estado borrador).

Error 1: modificar el significado del contenido debido al posicionamiento mediante CSS

Se trata de cambiar el significado semántico de una etiqueta, modificando su posicionamiento mediante CSS. Por ejemplo, si queremos crearnos una lista de elementos:

  • Elemento 1
    • Elemento 1.1
    • Elemento 1.2
    • Elemento 1.3
  • Elemento 2
    • Elemento 2.1
    • Elemento 2.2


El fallo consiste en usar etiquetas no destinadas a ese sentido, cambiarle los estilos y representarlas como queremos. Por ejemplo podemos usar span para representar cada elemento y disponerlos en la posición que nos conviene:

<span class="cab1">Elemento 1</span>
<span class="cab2">Elemento 2</span>
<span class="ele1">Elemento 1.1</span>
<span class="ele2">Elemento 2.1</span>
<span class="ele3">Elemento 1.2</span>
<span class="ele4">Elemento 2.3</span>

Y con los estilos siguientes:

.cab1 {
position: absolute;
top: 0px;
left: 0px;
}
.cab2 {
position: absolute;
top: 0px;
left: 200px;
}
.ele1 {
position: absolute;
top: 20px;
left: 0px;
}
.ele2 {
position: absolute;
top: 20px;
left: 200px;
}
.ele3 {
position: absolute;
top: 40px;
left: 0px;
}
.ele4 {
position: absolute;
top: 40px;
left: 200px;
}

obtendríamos el mismo resultado visual, pero si quitaramos los estilos obtendríamos lo siguiente:

Elemento 1 Elemento 2 Elemento 1.1 Elemento 2.1 Elemento 1.2 Elemento 2.3

lo cual no tendría mucho sentido.

Error 2: modificar el aspecto del texto para mostrar algo que ya representa una etiqueta

Existen varias etiquetas de texto que tiene diferentes funcionalidades, pero aún así es típico encontrarse textos con sus estilos modificados para mostrar el resultado de una etiqueta ya existente. Un ejemplo muy común es este:

<span class="negrita">Título</span>
.negrita {
font-weight: bold;
}

Lo correcto sería usar la etiqueta strong.

Más información

Simposio europeo que estudiará la relación entre la Administración electrónica y la Web

w3c_logo.pngLos próximos días 1 y 2 de febrero se celebrará en Gijón (Asturias) el Simposio Europeo del W3C sobre Administración electrónica.

El objetivo de este simposio es debatir sobre los servicios de Administración electrónica, identificar aquellos aspectos que ponen en riesgo la interoperabilidad de la Web y encontrar mecanismos que permitan que la Administración pueda ofrecer servicios más eficaces a través de tecnologías Web.