Skip to main content
Validación HTML

Valor incorrecto X para el atributo “lang” en el elemento “html”: La subetiqueta de idioma X no es una parte de idioma ISO válida de una etiqueta de idioma.

Acerca de este problema HTML

El atributo lang en el elemento <html> le dice a los navegadores, lectores de pantalla y motores de búsqueda en qué idioma está escrito el contenido de la página. Su valor debe seguir el estándar BCP 47, que utiliza códigos de idioma ISO 639 como la subetiqueta de idioma principal. Cuando el validador reporta que una subetiqueta de idioma “no es una parte de idioma ISO válida de una etiqueta de idioma”, significa que el código que proporcionaste no coincide con ningún idioma reconocido en el registro ISO 639.

Causas comunes

Errores tipográficos en el código de idioma

Un simple error de escritura como emg en lugar de en, o fre en lugar de fr, provocará este error.

Usar un código de país en lugar de un código de idioma

Los códigos de país (ISO 3166) y los códigos de idioma (ISO 639) son estándares diferentes. Por ejemplo, uk es el código de país para el Reino Unido, pero también es el código de idioma válido para ucraniano. Usar gb (Gran Bretaña) como idioma sería inválido. De manera similar, us no es un código de idioma — necesitas en para inglés o en-US para inglés americano específicamente.

Usar códigos inventados o obsoletos

Códigos como xx, en-UK, u otros valores no estándar fallarán en la validación. Ten en cuenta que aunque en-US y en-GB son válidos (formato idioma-región), en-UK no lo es porque UK no es la subetiqueta de región ISO 3166-1 correcta para el Reino Unido — GB sí lo es.

Por qué esto importa

  • Accesibilidad: Los lectores de pantalla dependen del atributo lang para seleccionar las reglas de pronunciación correctas y el perfil de voz. Un código de idioma inválido puede hacer que la tecnología asistiva pronuncie mal el contenido o recurra a un idioma predeterminado.
  • SEO: Los motores de búsqueda usan el atributo lang como una señal para servir el contenido correcto a los usuarios en el idioma y región apropiados.
  • Comportamiento del navegador: Los navegadores usan la etiqueta de idioma para corrección ortográfica, separación de sílabas, selección de fuentes y otras decisiones de renderizado sensibles al idioma.

Cómo solucionarlo

  1. Identifica el idioma en el que está escrita tu página.
  2. Busca el código ISO 639-1 de dos letras correcto (preferido) o el código ISO 639-2 de tres letras para ese idioma.
  3. Si necesitas especificar una variante regional, añade un guión y el código de región ISO 3166-1 (ej., pt-BR para portugués brasileño).
  4. Reemplaza el valor inválido en el atributo lang.

Algunos códigos de idioma válidos comúnmente usados:

Idioma Código
Inglés en
Inglés (EE.UU.) en-US
Inglés (Reino Unido) en-GB
Español es
Francés fr
Alemán de
Portugués (Brasil) pt-BR
Chino (Simplificado) zh-Hans
Japonés ja
Árabe ar

Ejemplos

❌ Inválido: Error tipográfico en el código de idioma

<html lang="emg">

❌ Inválido: Código de país usado en lugar de código de idioma

<html lang="us">

❌ Inválido: Subetiqueta de región incorrecta

<html lang="en-UK">

❌ Inválido: Código de idioma inventado

<html lang="english">

✅ Válido: Código de idioma de dos letras correcto

<html lang="en">

✅ Válido: Idioma con subetiqueta de región

<html lang="en-GB">

✅ Válido: Documento completo con atributo lang apropiado

<!DOCTYPE html>
<html lang="fr">
  <head>
    <meta charset="utf-8">
    <title>Ma page</title>
  </head>
  <body>
    <p>Bonjour le monde !</p>
  </body>
</html>

Puedes verificar tu etiqueta de idioma usando el Registro de Subetiquetas de Idioma de IANA o la herramienta de búsqueda de subetiquetas de idioma BCP 47 para asegurar que tu código sea válido antes de actualizar tu marcado.

Encuentra problemas como este automáticamente

Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.

Ayúdanos a mejorar nuestras guías

¿Te ha sido útil esta guía?

¿Listo para validar tus sitios?
Inicia tu prueba gratuita hoy.