Skip to main content
Validação HTML

Valor inválido X para o atributo “lang” no elemento “html”: A subetiqueta de idioma X não é uma parte de idioma ISO válida de uma etiqueta de idioma.

Sobre este problema HTML

O atributo lang no elemento <html> informa aos navegadores, leitores de ecrã e motores de busca em que idioma o conteúdo da página está escrito. O seu valor deve seguir o padrão BCP 47, que usa códigos de idioma ISO 639 como a subetiqueta de idioma principal. Quando o validador reporta que uma subetiqueta de idioma “não é uma parte de idioma ISO válida de uma etiqueta de idioma”, significa que o código que você forneceu não corresponde a nenhum idioma reconhecido no registo ISO 639.

Causas comuns

Erros de digitação no código do idioma

Um simples erro ortográfico como emg em vez de en, ou fre em vez de fr, irá desencadear este erro.

Usar um código de país em vez de um código de idioma

Os códigos de país (ISO 3166) e os códigos de idioma (ISO 639) são padrões diferentes. Por exemplo, uk é o código de país para o Reino Unido, mas também é o código de idioma válido para ucraniano. Usar gb (Grã-Bretanha) como idioma seria inválido. Da mesma forma, us não é um código de idioma — você precisa de en para inglês ou en-US para inglês americano especificamente.

Usar códigos inventados ou descontinuados

Códigos como xx, en-UK, ou outros valores não padronizados irão falhar na validação. Note que enquanto en-US e en-GB são válidos (formato idioma-região), en-UK não é porque UK não é a subetiqueta de região ISO 3166-1 correta para o Reino Unido — GB é.

Por que isto importa

  • Acessibilidade: Os leitores de ecrã dependem do atributo lang para selecionar as regras de pronúncia corretas e o perfil de voz. Um código de idioma inválido pode causar problemas na tecnologia assistiva ao pronunciar mal o conteúdo ou reverter para um idioma padrão.
  • SEO: Os motores de busca usam o atributo lang como um sinal para servir o conteúdo certo aos utilizadores no idioma e região apropriados.
  • Comportamento do navegador: Os navegadores usam a etiqueta de idioma para verificação ortográfica, hifenização, seleção de fonte e outras decisões de renderização sensíveis ao idioma.

Como corrigir

  1. Identifique o idioma em que a sua página está escrita.
  2. Procure o código ISO 639-1 de duas letras correto (preferido) ou código ISO 639-2 de três letras para esse idioma.
  3. Se precisar de especificar uma variante regional, acrescente um hífen e o código de região ISO 3166-1 (por exemplo, pt-BR para português brasileiro).
  4. Substitua o valor inválido no atributo lang.

Alguns códigos de idioma válidos comumente usados:

Idioma Código
Inglês en
Inglês (EUA) en-US
Inglês (Reino Unido) en-GB
Espanhol es
Francês fr
Alemão de
Português (Brasil) pt-BR
Chinês (Simplificado) zh-Hans
Japonês ja
Árabe ar

Exemplos

❌ Inválido: Erro de digitação no código do idioma

<html lang="emg">

❌ Inválido: Código de país usado em vez de código de idioma

<html lang="us">

❌ Inválido: Subetiqueta de região incorreta

<html lang="en-UK">

❌ Inválido: Código de idioma inventado

<html lang="english">

✅ Válido: Código de idioma de duas letras correto

<html lang="en">

✅ Válido: Idioma com subetiqueta de região

<html lang="en-GB">

✅ Válido: Documento completo com atributo lang adequado

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

Você pode verificar a sua etiqueta de idioma usando o IANA Language Subtag Registry ou a ferramenta BCP 47 Language Subtag Lookup para garantir que o seu código é válido antes de atualizar a sua marcação.

Encontre problemas como este automaticamente

O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.

Ajude-nos a melhorar os nossos guias

Este guia foi útil?

Pronto para validar os seus sites?
Comece o seu teste gratuito hoje.