Sobre este problema HTML
A diretiva X-UA-Compatible foi introduzida para controlar que motor de renderização o Internet Explorer utilizaria ao exibir uma página. Defini-la para uma versão específica como IE=10 bloqueia a página nesse modo de renderização dessa versão, mesmo que o utilizador tenha uma versão mais recente do Internet Explorer instalada. Isto é problemático porque impede o navegador de usar o seu motor de renderização mais capaz e compatível com padrões, podendo levar a problemas inesperados de layout ou funcionalidade.
O valor IE=edge indica ao Internet Explorer para usar o motor de renderização mais recente disponível, o que garante a melhor compatibilidade possível com padrões e suporte de funcionalidades. A especificação HTML e o validador W3C impõem este requisito porque fixar numa versão específica do IE não serve nenhum propósito compatível com o futuro e pode degradar ativamente a experiência de navegação.
É importante notar que, com o Internet Explorer agora descontinuado e substituído pelo Microsoft Edge, esta meta tag é amplamente histórica. No entanto, se a incluir, o validador exige que seja definida como IE=edge. Se o seu site já não precisa de suportar versões antigas do Internet Explorer, pode também simplesmente remover completamente a declaração X-UA-Compatible — os navegadores modernos ignoram-na.
Como corrigir
-
Encontre qualquer tag
<meta http-equiv="X-UA-Compatible">no<head>do seu HTML. -
Altere o valor do atributo
contentda versão específica (por exemplo,IE=10) paraIE=edge. - Se a diretiva estiver definida como cabeçalho de resposta HTTP no seu servidor, atualize também o valor do cabeçalho lá.
- Alternativamente, remova completamente a tag ou cabeçalho se já não precisar de compatibilidade com IE.
Exemplos
Incorreto: fixado numa versão específica do IE
Isto desencadeia o erro do validador porque IE=10 bloqueia a renderização no modo Internet Explorer 10:
<meta http-equiv="X-UA-Compatible" content="IE=10">
Outros valores específicos de versão que também desencadeariam este erro incluem IE=9, IE=11, IE=EmulateIE10 e variações similares.
Correto: usando IE=edge
Substitua o valor específico de versão por IE=edge:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Correto: exemplo de documento completo
Quando incluída num documento HTML completo, a meta tag X-UA-Compatible deve aparecer no início do <head>, idealmente logo após a declaração <meta charset>:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>My Page</title>
</head>
<body>
<p>Page content goes here.</p>
</body>
</html>
Correto: removendo completamente a tag
Se o suporte ao IE já não é uma preocupação, a correção mais simples é remover completamente a meta tag:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>My Page</title>
</head>
<body>
<p>Page content goes here.</p>
</body>
</html>
Cabeçalho HTTP do lado do servidor
Se o valor X-UA-Compatible estiver a ser enviado como cabeçalho de resposta HTTP em vez de uma meta tag, atualize a configuração do seu servidor. Por exemplo, no Apache:
# Incorreto
Header set X-UA-Compatible "IE=10"
# Correto
Header set X-UA-Compatible "IE=edge"
Ou no Nginx:
# Incorreto
add_header X-UA-Compatible "IE=10";
# Correto
add_header X-UA-Compatible "IE=edge";
Encontre problemas como este automaticamente
O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.