2

HTML5: consideraciones de accesibilidad web

AWS | accesibilidad,diseño web,web 3.0,web semantica | Jueves junio 17 2010

Accesibilidad web y HTML5En el portal especializado en temas de accesibilidad web, WebAim, se han publicado varios artículos relacionados con la accesibilidad Web y el futuro del nuevo estándar HTML5.

Los temas que tratan varían desde las características del elemento video hasta los elementos semánticos de HTML5, pasando por otras propiedades de esta nueva revisión del estándar.

Accesibilidad web y HTML. Aspectos destacados:

HTML5: Accesibilidad de la etiqueta <video>

Hasta este momento, el método para incluir vídeo en un sitio web ha requerido un plugin de terceros, dependiendo la calidad, la interfaz de usuario y la accesibilidad, del plugin de video utilizado. Con el HTML5 viene una etiqueta estándar <video>.

Respecto a la accesibilidad de la futura etiqueta <video>, y a la espera de las especificaciones de la misma y las implementaciones de los distintos navegadores, es posible que resuelva dos de los mayores problemas que se presentan en la actualidad: la accesibilidad del teclado y el soporte de subtítulos.

Control del teclado

De forma predeterminada, la etiqueta <video> de HTML5 utiliza los controles de reproducción que proporciona el navegador, que debe permitir la navegación con el teclado. Aunque es todavía demasiado pronto para saber si todos los fabricantes de navegadores incorporarán esta funcionalidad correctamente, es probable que sea una gran mejora con respecto lo que habitualmente vemos hoy.

Subtítulos

La etiqueta <video> en HTML5 no contiene ningún mecanismo integrado para la subtitulación, la descripción, las transcripciones, u otras alternativas sincronizado medios de comunicación. El actual proyecto del pliego de condiciones dice:

“Para hacer el contenido de vídeo accesibles a los ciegos, sordos y personas con otras discapacidades físicas o cognitivas, los autores deben proveer medios alternativos y / o integrar ayudas de accesibilidad … “

En otras palabras, los desarrolladores que quieran incluir video con subtítulos no recibirá ninguna ayuda de HTML5 directamente. Ahora bien, esto no es peor que la situación que tenemos hoy, y, parece ser que, en los grupos de Accesibilidad del W3C están buscando alguna forma de solventar el tema con el nuevo estándar.

HTML5: Accesibilidad de los elementos semánticos

HTML5 introduce varios elementos semánticos que representan secciones lógicas o componentes de una aplicación web o un documento: <section>, <nav>, <article>, <aside>, <hgroup>, <header>, <footer>, así como nuevas reglas para el uso de las etiquetas de cabecera <h1>-<h6> y los elementos <dirección>. Las nuevas etiquetas proporcionan una forma más sencilla para los desarrolladores a la hora de definir las distintas partes de un documento.

En general, todo esto tiene un importante potencial para mejorar la accesibilidad, sobre todo si los lectores de pantalla y otras tecnologías de asistencia comienzan a utilizar la información asociada.

En algunos casos una etiqueta específica o el uso que de ella se hace, podría crear una oportunidad única o un problema para la accesibilidad (o con bastante frecuencia, ambas a la vez).

Uso exclusivo de <h1> en <section> y <article>

En las versiones actuales de HTML, la única forma de definir las secciones y la jerarquía del esquema de un documento es el uso de la <h1>-<h6> en una estructura plana. Esto es muy beneficioso para la accesibilidad, pero puede ser un poco incómodo para los desarrolladores de páginas web. HTML5 introduce dos nuevos elementos, <section> y <article>, que definen secciones lógicas y artículos para organizar el contenido y los niveles de jerarquía de lo mismo.

Esta solución puede originar algunos problemas de accesibilidad durante la fase de transición hacia el estándar, haciendo necesario que continuemos usando etiquetas de encabezados aunque estén anidadas dentro de bloques <section> y <article>.

El elemento <nav>

El elemento <nav> en HTML5 proporciona una forma de especificar de forma explícita los elementos de navegación en las páginas. Al igual que antes, esto será relamente destacable cuando las tecnologías de asistencia (y los navegadores web estándar) ofrezcan e a los usuarios la capacidad de tomar ventaja del estándar directamente.

Accessible Rich Internet Applications (WAI-ARIA)

La especificación HTML 5 contiene una sección sobre WAI-ARIA (Accessible Rich Internet Applications) que se ocupa de cómo las diferentes funciones se pueden aplicar a los elementos HTML5. En algunos casos, HTML5 requiere agentes de usuario para usar automáticamente las funciones específicas de ARIA sobre ciertos elementos. En otros casos, HTML5 requiere que los agentes de usuario proporcionen funciones por defecto “razonables” a ciertos elementos, pero permite que éstas sean reemplazadas por el desarrollador, al menos dentro de ciertos límites.

HTML5: Accesibilidad de los nuevos tipos para la etiqueta <input> y sus extensiones

HTML5 define 13 nuevos valores para el elemento <input> (búsqueda, teléfono, url, correo electrónico, fecha y hora, fecha, mes, semana, tiempo, fecha y hora local, número, intervalo y color). En la Mozilla Wiki se puede encontrar información sobre ellos (color date, email, number, range, search, tel y url).

Si bien queda por ver cómo cada uno de los nuevos tipos de entrada se representará o será utilizada por los navegadores web. Estos son campos de texto utilizados por secuencias de comandos y se enviarán por GET y POST como tal. En algunos casos (como la fecha y la hora ) HTML5 dicta que los datos se almacenarán internamente o serán representados de manera específica, de forma que los cambios en su manera de ser utilizados será mínimos.

Por defecto, para un elemento <input> en HTML se le asigna un type = “text”, así que esté es un cambio perfectamente compatible con versiones anteriores, y no debería causar ningún problema (de accesibilidad o de otro tipo).

Tipo de entrada Search

El tipo de entrada de búsqueda representa un campo de texto que funciona como una caja de búsqueda (ver la especificación de HTML5). Respecto a este nuevo tipo su utilidad y los beneficios para la accesibilidad son bastante grandes, ya que permitiría a las tecnologías de asistencia proporcionar, mediante un solo comando o pulsaciones de teclas, acceder a la casilla de búsqueda de la página actual, independientemente de dónde se encuentre en el contenido.

Tipos de entrada tel, url y email

Mediante estos nuevos tipos, el desarrollador tiene una ayuda para la validación de entrada de los datos, de forma que se puede exigir que el texto introducido cumpla las especificaciones del formato URL o de direcciones de correo. Además, existe la posibilidad de integración con otras fuentes de datos, mediante lo cual, por ejemplo, los agentes de usuario podrían proporcionar un mecanismo para obtener direcciones de email o números de teléfono de un navegador o de la libreta de direcciones y cumplimentar de esta forma los campos de entrada.

La accesibilidad de estas interacciones basadas en el navegador será responsabilidad de los proveedores de navegadores.

Tipos de entrada date y time

Seis de los nuevos tipos de entrada están relacionados con fechas y horas en una u otra forma: datetime, date, month, week, time y datetime-local.

Es de esperar que los navegadores web y otras aplicaciones de usuario presentará estos campos de entrada como, quizá, calendarios o relojes implementados con popups para permitir una fácil lectura y una selección sencilla de los valores apropiados. Esto se puede esperar que genere un significativo aumento de la accesibilidad , ya que estos reproductores suministrados por los navegadores es probable que sean muy accesibles, mientras que los códigos actuales, basados habitualmente en JavaScript, suelen tener deficiencias en cuanto a accesibilidad. Además, el uso de una interfaz única para la selección de fechas y horas, reducirá la curva de aprendizaje para los usuarios ya que tendrá un formato similar en todos los sitios web.

Durante el período de transición, cuando algunos usuarios cuenten con navegadores con soporten HTML5 y otros no, los sitios que actualmente utilizan códigos desarrollados tendrán que buscar alguna forma de determinar las capacidades del navegador y solo hacer uso de estas etiquetas HTML5 si el browser las soporta. Actualmente sólo las versiones más recientes de Opera soportan oficialmente los tipos de entrada date y time, aunque se espera que otros navegadores las soporten en breve.

Tipos de entrada numéricos

Los tipos de entrada number y range se utilizarán para la entrada de valores numéricos, y, lo más probable, es que sea presentado por los navegadores como spinboxes y controles deslizantes, respectivamente. Dado que estos reproductores se corresponden directamente con funcionalidades nativas de la plataforma y estas suelen incluir funciones de accesibilidad, esta se supone que será elevada. La conversión de los campos de entrada de texto para estos campos numéricos no debe crear un nuevo problemas de accesibilidad.

Tipo de entrada Color

El tipo de entrada color se debe al creciente número de aplicaciones de edición de fotografías en la web.

Extensiones para la etiqueta <input>

Además de los nuevos tipos <input>, HTML5 también añade cuatro nuevos atributos a todos los elementos de entrada que tienen un impacto potencial de la accesibilidad: autofocus, placeholder, required y pattern. Todos ellos implementan características y funciones que se han estado utilizando en aplicaciones web desde hace años a través de secuencias de comandos, pero ahora el estándar nos permite ser codificadas directamente en HTML.

Los navegadores, exceptuando Internet Explorer, admiten estas extensiones en mayor o menor medida, pero se espera que las implementen en todas sus funcionalidades en breve. Mientras tanto, las soluciones basadas en scripts se puede utilizar junto con los atributos de HTML5, con la incorporación de algunas utilidades para determinar el user-agent del navegador del usuario.

  • Enfoque automático (autofocus)

El atributo de enfoque automático permite a los desarrolladores especificar que un elemento, de forma particular, debe recibir el foco de entrada tan pronto como la página que lo contiene se carga, de modo que puede empezar a escribir de inmediato sin tener que hacer click específicamente en ese control. Las capacidades de autofoco basado en scripts son muy utilizadas en la actualidad, pero conllevan una serie de problemas, incluyendo el hecho de que no hay forma de deshabilitarlas. Con el atributo autofocus los navegadores web y otras aplicaciones de usuario puede permitir la capacidad de deshabilitar esta característica, ya sea en un sitio web específico o para toda la Web.

Tenga en cuenta que existen algunos problemas de acceso con el enfoque automático , y esto no cambiará con el nuevo estándar, pero en los casos los que queramos utilizar esta característica, el atributo de enfoque automático en HTML5 proporciona una manera más fácil y más simple realizarlo.

  • Marcador de posición de texto (placeholder)

El  marcador de posición de texto en los campos de entrada en  HTML está  considerado como un requisito de accesibilidad. Actualmente se implementa con un texto por defecto que contiene la entrada o el área de texto del los formularios, siendo, este texto, eliminado automáticamente por un script cuando se incluye texto por parte del usuario.

El atributo placeholder de HTML5 permite a los desarroladores web especificar el marcador de posición del texto directamente en el código del formulario. Esto ahorra el desarrollador el problema de tener que utilizar una solución basada en scripts , y permite a los proveedores de navegadores incluir  tecnologías para ayuda de una manera consistente. Además, el uso generalizado del atributo (en lugar de secuencias de comandos existentes) nos asegura que el texto del marcador de posición tendrá un aspecto y comportamiento, a lo largo de la Web, uniforme, incrementando la accesibilidad y facilitando el aprendizaje de uso de los sitios web.

Hay que tener en cuenta que está explícitamente prohibido por la especificación HTML5 dejar sin etiquetas explicitas los marcadores de posición de texto.

  • Campos requeridos (required)

La capacidad de indicar que un campo es requerido ha sido posible con ARIA desde hace algún tiempo, e incluso se apoyó en los navegadores más modernos y los lectores de pantalla. Esta  solución es mucho mejor que la comúnmente utilizada de “añadir un asterisco al texto de la etiqueta” ya que permite a los agentes de usuario y tecnologías de apoyo informar al usuario de que un campo en particular se requiere. HTML5 va un paso más allá añadiendo una característica directamente a la sintaxis HTML (no requiere ARIA), con la idea de que el navegador no sólo mostrará los elementos requeridos de forma diferente , sino que proporcionará automáticamente los mensajes de error (en una forma accesible, suponemos) cuando alguien intenta enviar un formulario sin haber llenado en todos los valores requeridos.

  • Patrones (pattern)

El atributo pattern de  HTML5 incrementa las capacidades del atributo required al indicar que un campo de entrada particular debe tener un valor que coincide con una cierta expresión regular definida por el desarrollador. Esto permite recibir los datos estrictamente con un formato predefinido (por ejemplo, en el caso de los números de tarjetas de crédito) de forma que, la validación automática del lado del cliente, permite reportar errores.

La especificación exige que, cuando se utiliza el atributo patrón, también se añada un título que explique los detalles del modelo que se verificará.

Si este atributo no nos cubre todas las necesidades de nuestra aplicación, HTML5 proporciona una interfaz para acceder a las funciones de validación de formularios a través de secuencias de comandos (código de demostración).

Listado de los artículos en la web de WebAim:

Otros artículos de interés:



Contenidos relacionados

AWS

Tras más de 20 años de experiencia en la realización de proyectos en los distintos ámbitos de las tecnologías en grandes empresas (HP, Telefónica I+D, Caja Madrid, IBM, 4B, La Caixa, Caja España, Banesto, Banco Espirito Santo, etc.), un conjunto de profesionales decidió afrontar el reto de establecerse como compañía independiente, con la ilusión de trasladar a las pequeñas y medianas empresas el conocimiento, la experiencia y las capacidades que hemos desarrollado durante años en proyectos para grandes compañías. De esta forma nació Advanced Web Solutions, ideada por profesionales experimentados, pero sobre todo por personas con un objetivo común: acercar Internet a las empresas, haciéndolas visibles en la Red optimizando los costes que ello les supone. Nuestros compromisos son la excelencia en el servicio, la honestidad y cumplimiento en la relación con los clientes y la calidad en nuestros proyectos.

Advanced Web Solutions, CIF B-85279073. Registro Mercantil de Madrid, Tomo 25032, Libro 0, folio 122, Sección 8, Hoja M 450748, Inscripción 1              Términos de Uso y legales  -  Mapa del sitio