Técnica HTML WCAG 2.2
H56Usar dir en un fragmento para ordenar bien textos de dirección mixta
Nombre oficial en el W3C: Usar el atributo dir en un elemento en línea para resolver problemas con secuencias direccionales anidadas
En pocas palabras
El árabe y el hebreo se escriben de derecha a izquierda. Si una frase en esos idiomas se mezcla con palabras de otro idioma, signos o números, el navegador puede colocarlos en mal orden. El atributo dir en el fragmento, por ejemplo en un span, indica su dirección y corrige el orden.
Por qué es importante
El navegador ordena las letras con unas reglas automáticas (el algoritmo bidireccional de Unicode). Esas reglas a veces fallan cuando hay espacios, comas o paréntesis entre textos de distinta dirección.
Entonces una coma, una sigla o un número salen en el lado equivocado. La frase se vuelve confusa o cambia de sentido. El criterio 1.3.2 pide que el orden de lectura correcto se pueda reconocer. Afecta a cualquier web con textos en árabe o hebreo, como la de un servicio de atención a personas migrantes.
Cómo se hace
- Indique la dirección general de la página en
<html>. Si está en árabe o hebreo, usedir="rtl". - Rodee cada fragmento escrito en el sentido contrario con un elemento en línea, como
<span>o<q>. - Ponga en ese elemento
dir="rtl"(de derecha a izquierda) odir="ltr"(de izquierda a derecha). Añada tambiénlangcon su idioma. - Si no conoce la dirección de antemano, como en nombres que escriben los usuarios, use
<bdi>odir="auto". - Indique la dirección en el HTML, no con la propiedad
directionde CSS. Forma parte del contenido.
Cómo comprobarlo
- Localice los textos que mezclan escritura de derecha a izquierda con palabras, siglas o números de izquierda a derecha.
- Compruebe, con ayuda de alguien que conozca el idioma si hace falta, que signos, siglas y números salen en su sitio.
- Con las herramientas del navegador (F12), compruebe que el texto de derecha a izquierda está dentro de un elemento con
dir="rtl". - Compruebe que el texto de izquierda a derecha no tiene
diro tienedir="ltr".
Ejemplo
Una página en español cita un folleto en árabe cuyo título acaba en coma y año: dir="rtl" deja la coma y el año en su sitio.
<p>El folleto se titula
<q lang="ar" dir="rtl">دليل الخدمات البلدية، 2025</q>
en árabe.</p>
Ver el texto completo del W3C (traducción al español)
Esta es una traducción no oficial al español de la técnica H56 de Techniques for WCAG 2.2, del W3C. Puede contener errores. El único documento oficial y normativo es la versión original en inglés, publicada en el sitio web del W3C.
Aplicabilidad
HTML
Descripción
El objetivo de esta técnica es identificar los cambios en la dirección del texto cuando este incluye secuencias direccionales anidadas, proporcionando el atributo dir en elementos en línea. Una secuencia direccional anidada es una secuencia de texto que incluye texto de direcciones mixtas; por ejemplo, un párrafo en inglés que contiene una frase citada en hebreo que, a su vez, incluye una expresión en inglés. El uso del atributo dir en un span u otro elemento en línea que lo englobe puede ser necesario porque el algoritmo bidireccional de Unicode puede producir resultados no deseados cuando el texto de direcciones mixtas contiene espacios o signos de puntuación. Los conceptos usados en esta técnica se describen en What you need to know about the bidi algorithm and inline markup (lo que hay que saber sobre el algoritmo bidi y el marcado en línea).
Ejemplos
Definir de derecha a izquierda la dirección del texto de una frase anidada de dirección mixta, en hebreo e inglés
Como toda la cita está en hebreo y, por tanto, se lee de derecha a izquierda, el texto «W3C» y la coma deberían aparecer a la izquierda del texto en hebreo (es decir, después de él), así:
El título es «פעילות הבינאום, W3C» en hebreo.
Versión en ASCII con orden visual (texto RTL en mayúsculas, texto LTR en minúsculas):
el título es «w3c ,YTIVITCA NOITAZILANOITANRETNI» en hebreo.
El algoritmo bidireccional de Unicode por sí solo no basta para lograr el resultado correcto, y deja el texto «W3C» en el lado derecho de la cita:
El título es «פעילות הבינאום, W3C» en hebreo.
Versión en ASCII con orden visual:
el título es «YTIVITCA NOITAZILANOITANRETNI, w3c» en hebreo.
El siguiente marcado producirá el resultado esperado:
<p>The title says "<span lang="he" dir="rtl">פעילות הבינאום, W3C</span>" in Hebrew.</p>
Pruebas
Procedimiento
- Examinar la dirección del texto en el documento
- Si la dirección del texto es de derecha a izquierda, comprobar que, en el elemento ancestro que tiene un atributo
dir, dicho atributo tiene el valor"rtl" - Si la dirección del texto es de izquierda a derecha, comprobar que no hay ningún elemento ancestro con un atributo
dir, o que, en el elemento ancestro que tiene un atributodir, dicho atributo tiene el valor"ltr"
Resultados esperados
- Las comprobaciones n.º 2 y n.º 3 son verdaderas para todo el texto.
Recursos
-
HTML: el atributo
dir. - HTML: texto bidireccional.
- Creating HTML Pages in Arabic, Hebrew and Other Right-to-left Scripts (tutorial sobre la creación de páginas HTML en árabe, hebreo y otras escrituras de derecha a izquierda).
Cómo lo comprobamos en ADDAW
En cada auditoría de ADDAW revisamos esta técnica página a página y le entregamos los errores con capturas y la forma de corregirlos.
Basado en la técnica H56 del W3C (WCAG 2.2). Explicación y ejemplos: ADDAW. Traducción no oficial del texto del W3C © W3C, licencia de documentos del W3C. ¿Ha visto un error? Escríbanos.