Técnica HTML WCAG 2.2
H34Colocar bien la puntuación al mezclar árabe o hebreo con español
Nombre oficial en el W3C: Usar una marca Unicode de derecha a izquierda (RLM) o de izquierda a derecha (LRM) para mezclar la dirección del texto en línea
En pocas palabras
El árabe y el hebreo se escriben de derecha a izquierda. Si aparecen dentro de un texto en español, el navegador puede colocar mal un signo o un espacio que queda entre los dos idiomas. Unos caracteres invisibles, las marcas RLM y LRM, indican a qué lado debe ir y corrigen el orden.
Por qué es importante
Si un signo de exclamación o un paréntesis acaba en el lado equivocado, la frase se lee mal o cambia de sentido. Afecta a cualquier lector, y más a quien conoce esos idiomas.
El texto debe mostrarse en el orden correcto para que se entienda. Un signo mal colocado rompe ese orden.
Cómo se hace
- Localice los puntos donde el texto cambia de dirección, por ejemplo un nombre en árabe dentro de una frase en español.
- Fíjese en los caracteres neutros que quedan en la frontera: espacios, signos de exclamación, comas, paréntesis, comillas.
- Si uno aparece en el lado equivocado, ponga justo después una marca. Use
‏si el signo pertenece al texto de derecha a izquierda y‎si pertenece al de izquierda a derecha. - Escriba la marca como entidad (
‏) y no como carácter invisible, para que se vea al revisar el código. - Para fragmentos más largos, combine esto con los atributos
langydir.
Cómo comprobarlo
- Busque en la página fragmentos en árabe, hebreo u otro idioma que se escribe de derecha a izquierda.
- Revise los espacios y signos de puntuación que quedan junto a esos fragmentos.
- Compruebe, con alguien que conozca el idioma, que cada signo está en su sitio.
- Si alguno estaba mal colocado, confirme en el código que lleva detrás la marca
‏o‎que lo corrige.
Ejemplo
Lema en árabe con exclamación dentro de una frase en español; la marca RLM deja la exclamación en el lado que le corresponde en árabe.
<p lang="es">
El lema del congreso es
«<span lang="ar">مرحبا بالجميع!‏</span>», 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 H34 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 usar las marcas Unicode de derecha a izquierda y de izquierda a derecha para anular el algoritmo bidireccional de HTML cuando produce resultados no deseados. Esto puede ser necesario, por ejemplo, al colocar caracteres neutros, como espacios o signos de puntuación, entre fragmentos de texto de distinta dirección. Los conceptos que se usan en esta técnica se describen en Inline markup and bidirectional text in HTML.
Las marcas Unicode de derecha a izquierda y de izquierda a derecha pueden introducirse directamente o mediante entidades de carácter o referencias numéricas de carácter, como se muestra aquí.
- marca de izquierda a derecha:
‎o‎(U+200E) - marca de derecha a izquierda:
‏o‏(U+200F)
Debido al algoritmo bidi, es posible que un editor de código fuente no muestre las entidades de carácter o las referencias numéricas de carácter como se espera.
Ejemplos
Este ejemplo muestra una frase en árabe en medio de una oración en inglés. El signo de exclamación forma parte de la frase en árabe y debería aparecer a su izquierda. Como está situado entre un carácter árabe y uno latino y la dirección general del párrafo es de izquierda a derecha, el algoritmo bidireccional coloca el signo de exclamación a la derecha de la frase en árabe.
El título es «مفتاح معايير الويب!» en árabe.
Versión en ASCII en orden visual (el texto de derecha a izquierda en mayúsculas, el de izquierda a derecha en minúsculas):
the title is "HCTIWS SDRADNATS BEW!" in arabic.
Insertar en el código una marca Unicode de derecha a izquierda inmediatamente después del signo de exclamación lo coloca correctamente al visualizar el texto (véase más abajo). Para insertar la marca de derecha a izquierda se puede usar una secuencia de escape de carácter o el carácter de control (invisible).
El título es «مفتاح معايير الويب!» en árabe.
Versión en ASCII en orden visual:
the title is "!HCTIWS SDRADNATS BEW" in arabic.
Pruebas
Procedimiento
- Examinar el código fuente en busca de lugares en los que el texto cambia de dirección.
- Cuando el texto cambia de dirección, comprobar si hay caracteres neutros, como espacios o signos de puntuación, adyacentes al texto que se presenta en la dirección no predeterminada.
- Cuando la comprobación n.º 2 es verdadera y el algoritmo bidireccional de HTML colocaría incorrectamente los caracteres neutros, comprobar si los caracteres neutros van seguidos de marcas Unicode de derecha a izquierda o de izquierda a derecha que hacen que los caracteres neutros se coloquen como parte de los caracteres precedentes.
Resultados esperados
- La comprobación n.º 3 es verdadera.
Recursos
- W3C Internationalization - bidirectional text (texto bidireccional).
- W3C Internationalization - Mixing text direction inline (mezclar la dirección del texto en línea).
- W3C Internationalization - Inline markup and bidirectional text in HTML (marcado en línea y texto bidireccional en HTML).
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 H34 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.