Sobre el uso del atributo lang

El atributo de HTML lang especifica el idioma principal del contenido de un documento; para establecer el idioma que se quiere usar, se debe agregar el atributo a la etiqueta <html>:

<html lang="es">
  ...
</html>

El otro caso de uso para el atributo lang es cuando tenemos pedazos de texto que están escritos en un idioma diferente al idioma principal del documento, por ejemplo:

<html lang="en">
  ...
  <body>
    <p>This page is written in English.</p>
    <p lang="es">Pero este texto es en español.</p>
  </body>
</html>

El atributo acepta como valor, normalmente, dos letras; en el artículo ISO 2 Letter Language Codes tienen una lista de los diferentes valores. De toda esa lista los únicos que he usado son en para contenidos en ingles y es cuando es español.

Es muy fácil olvidarse de este atributo, creo que la razón es porque no tenemos claro para que sirve. En el post, ¿Por qué usar el atributo de idioma?, dan una explicación completa de los beneficios y se puede complementar con On Use of the Lang Attribute de Adrian Roselli.

Algunas razones por las que debemos usarlo:

  • Hyphens. Al usar lang obtenemos el beneficio de tener soporte para guiones (Hyphens). El soporte va a depender del browser que estemos usando, pero es un beneficio al fin para browsers modernos y se asume que estamos usando hyphens: auto en nuestro CSS.
  • Accesibilidad. Es un beneficio para usuarios de screen reader porque permite pronunciación adecuada del contenido.
  • Utilizar el atributo lang es un requisito nivel A de WCAG
  • Traducción. Abajo queda un extracto del artículo ¿Por qué usar el atributo de idioma?, vale la penar leerlo todo.

Las herramientas de traducción pueden utilizar los atributos de idioma para reconocer páginas o secciones de un texto en un idioma específico, y ajustar automáticamente el proceso de flujo de trabajo o proteger el texto de los cambios que pueda realizar el traductor en las herramientas de traducción.

Desarrollo y contenido por José David Leiva 2012 - 2020 / RSS