¿Qué es el atributo lang?
El atributo lang en la etiqueta <html> declara el idioma principal del contenido de la página. Informa a navegadores, motores de búsqueda y tecnologías de asistencia en qué idioma está escrito el texto.
¿Por qué es fundamental?
Accesibilidad (requisito WCAG)
- Los lectores de pantalla usan el atributo lang para seleccionar las reglas de pronunciación correctas
- Sin él, un lector de pantalla podría intentar leer texto en español con pronunciación en inglés, haciéndolo incomprensible
- Es un requisito de nivel A de WCAG, el nivel más básico de conformidad en accesibilidad
SEO
- Los motores de búsqueda lo utilizan para entender el idioma del contenido y mostrarlo a la audiencia correcta
- Es una señal para el SEO internacional y la segmentación geográfica
- Ayuda a una indexación adecuada en los resultados de búsqueda específicos por idioma
Funcionalidades del navegador
- Los navegadores lo utilizan para la corrección ortográfica en el idioma correcto
- Sugerencias de traducción — Los navegadores sugieren traducir páginas cuando el idioma no coincide con el del usuario
- Separación silábica y renderizado de texto — Algunos idiomas requieren un tratamiento de texto diferente
Cómo solucionarlo
Añade el atributo lang a tu etiqueta <html>:
<html lang="en">
Códigos de idioma comunes
| Código | Idioma |
|---|---|
en | Inglés |
es | Español |
fr | Francés |
de | Alemán |
pt | Portugués |
ja | Japonés |
zh | Chino |
ar | Árabe |
ko | Coreano |
it | Italiano |
Para variantes regionales
<html lang="en-US"> <!-- Inglés americano -->
<html lang="en-GB"> <!-- Inglés británico -->
<html lang="pt-BR"> <!-- Portugués de Brasil -->
<html lang="zh-CN"> <!-- Chino simplificado -->
Buenas prácticas
- Inclúyelo siempre — Toda página HTML debería tener un atributo lang
- Usa el código correcto — Códigos de dos letras ISO 639-1
- Que coincida con tu contenido — Establece el idioma de la mayor parte del contenido de la página
- Usa
langen sub-elementos — Para contenido en varios idiomas:<span lang="fr">Bonjour</span>