Sobre este problema HTML
O W3C HTML Validator reporta este erro quando encontra isolang no elemento <html> porque isolang não é um atributo reconhecido em qualquer versão do HTML. Isto acontece tipicamente quando os programadores tentam especificar o idioma do documento mas usam um nome de atributo incorreto ou inventado, possivelmente confundindo-o com a terminologia dos códigos de idioma ISO.
O atributo correto para declarar o idioma de um documento é lang. Este atributo aceita uma etiqueta de idioma BCP 47 válida, que na maioria dos casos é um código ISO 639-1 simples de duas letras (como en para inglês, fr para francês, ou pt para português). Você também pode usar subetiquetas estendidas para variantes regionais, como en-US para inglês americano ou pt-BR para português brasileiro.
Definir o atributo lang corretamente é importante por várias razões:
-
Acessibilidade: Os leitores de ecrã usam o atributo
langpara selecionar as regras de pronúncia corretas, garantindo que o conteúdo seja lido em voz alta com precisão. - SEO: Os motores de pesquisa usam a declaração de idioma para servir o conteúdo certo aos utilizadores baseado nas suas preferências de idioma.
-
Comportamento do navegador: Os navegadores dependem do
langpara funcionalidades como verificação ortográfica, hifenização e seleção de fontes padrão apropriadas para o idioma dado. - Conformidade com padrões: Apenas atributos reconhecidos passam na validação W3C, e a marcação válida garante um comportamento consistente e previsível entre navegadores.
Para corrigir este problema, simplesmente substitua isolang por lang no seu elemento <html>. Mantenha o mesmo valor do código de idioma—é o nome do atributo que está errado, não o valor.
Exemplos
❌ Incorreto: Usar o atributo inválido isolang
<!DOCTYPE html>
<html isolang="pt">
<head>
<title>Minha Página</title>
</head>
<body>
<p>Olá, mundo!</p>
</body>
</html>
Isto desencadeia o erro: Attribute “isolang” not allowed on element “html” at this point.
✅ Correto: Usar o atributo lang
<!DOCTYPE html>
<html lang="pt">
<head>
<title>Minha Página</title>
</head>
<body>
<p>Olá, mundo!</p>
</body>
</html>
✅ Correto: Usar uma subetiqueta de idioma regional
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<title>Minha Página</title>
</head>
<body>
<p>Olá, mundo!</p>
</body>
</html>
Códigos de idioma comuns
Aqui estão alguns códigos ISO 639-1 frequentemente usados para o atributo lang:
-
en— Inglês -
es— Espanhol -
fr— Francês -
de— Alemão -
pt— Português -
zh— Chinês -
ja— Japonês -
ar— Árabe -
ko— Coreano -
ru— Russo
Encontre problemas como este automaticamente
O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.