Warning Atributo lang faltante en <html>

Por qué toda página debería declarar su idioma con <html lang="es">, y cómo afecta a lectores de pantalla, traducción y SEO.

El validador advierte cuando el elemento raíz <html> no tiene atributo lang.

Ejemplo

<!-- Incorrecto -->
<html>

<!-- Correcto -->
<html lang="es">
<html lang="es-MX">
<html lang="en">

Usa un código de dos letras ISO 639-1, opcionalmente con una subetiqueta de región (es-MX, pt-BR). Si distintas secciones de una página están en idiomas diferentes, también se puede poner lang en elementos individuales — de lo contrario se hereda de <html>.

Por qué importa

Los lectores de pantalla usan lang para elegir la pronunciación y la voz correctas al convertir texto a voz — sin él, un lector de pantalla suele recurrir al idioma del sistema del usuario, lo que puede pronunciar muy mal contenido en otro idioma. Los navegadores lo usan para ofrecer una traducción automática precisa, y los buscadores lo usan como señal para servir la versión de idioma correcta a la audiencia correcta.

Frequently asked questions

¿Qué valor debe tener lang en una página multilingüe?

Se pone lang en <html> con el idioma principal o mayoritario de la página, y después se puede sobrescribir en elementos o secciones específicas escritas en otro idioma — por ejemplo <blockquote lang="fr">...</blockquote> dentro de una página en español.

¿Basta con un código de idioma, o hace falta un locale completo?

Un código de dos letras simple como es o en es válido y suficiente en la mayoría de los casos. Agrega una subetiqueta de región (es-ES vs. es-MX) solo cuando la distinción realmente importe para el contenido — ortografía, moneda, formatos de fecha, etc.