Acerca de este problema HTML
La directiva X-UA-Compatible se introdujo para controlar qué motor de renderizado usaría Internet Explorer al mostrar una página. Establecerla a una versión específica como IE=10 bloquea la página en el modo de renderizado de esa versión, incluso si el usuario tiene una versión más nueva de Internet Explorer instalada. Esto es problemático porque impide que el navegador use su motor de renderizado más capaz y compatible con los estándares, y puede llevar a problemas inesperados de diseño o funcionalidad.
El valor IE=edge le dice a Internet Explorer que use el motor de renderizado más reciente disponible, lo que asegura la mejor compatibilidad posible con los estándares y soporte de características. La especificación HTML y el validador del W3C exigen este requisito porque anclar a una versión específica de IE no sirve ningún propósito compatible hacia adelante y puede degradar activamente la experiencia de navegación.
Vale la pena señalar que con Internet Explorer ahora retirado y reemplazado por Microsoft Edge, esta meta etiqueta es en gran parte histórica. Sin embargo, si la incluyes, el validador requiere que esté establecida en IE=edge. Si tu sitio ya no necesita dar soporte a versiones heredadas de Internet Explorer, también puedes simplemente eliminar la declaración X-UA-Compatible por completo: los navegadores modernos la ignoran.
Cómo solucionarlo
-
Encuentra cualquier etiqueta
<meta http-equiv="X-UA-Compatible">en el<head>de tu HTML. -
Cambia el valor del atributo
contentde la versión específica (p. ej.,IE=10) aIE=edge. - Si la directiva está establecida como una cabecera de respuesta HTTP en tu servidor, actualiza el valor de la cabecera allí también.
- Alternativamente, elimina la etiqueta o cabecera por completo si ya no necesitas compatibilidad con IE.
Ejemplos
Incorrecto: anclado a una versión específica de IE
Esto desencadena el error del validador porque IE=10 bloquea el renderizado al modo de Internet Explorer 10:
<meta http-equiv="X-UA-Compatible" content="IE=10">
Otros valores específicos de versión que también desencadenarían este error incluyen IE=9, IE=11, IE=EmulateIE10, y variaciones similares.
Correcto: usando IE=edge
Reemplaza el valor específico de versión con IE=edge:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Correcto: ejemplo de documento completo
Cuando se incluye en un documento HTML completo, la meta etiqueta X-UA-Compatible debería aparecer temprano en el <head>, idealmente justo después de la declaración <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>
Correcto: eliminando la etiqueta por completo
Si el soporte para IE ya no es una preocupación, la solución más simple es eliminar la meta etiqueta por completo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>My Page</title>
</head>
<body>
<p>Page content goes here.</p>
</body>
</html>
Cabecera HTTP del lado del servidor
Si el valor X-UA-Compatible se está enviando como una cabecera de respuesta HTTP en lugar de una meta etiqueta, actualiza la configuración de tu servidor. Por ejemplo, en Apache:
# Incorrecto
Header set X-UA-Compatible "IE=10"
# Correcto
Header set X-UA-Compatible "IE=edge"
O en Nginx:
# Incorrecto
add_header X-UA-Compatible "IE=10";
# Correcto
add_header X-UA-Compatible "IE=edge";
Encuentra problemas como este automáticamente
Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.