Acerca de este problema HTML
La especificación HTML es clara en este punto: una etiqueta de cierre consiste únicamente en </, el nombre de la etiqueta, espacios en blanco opcionales, y >. No se permite ningún atributo, ningún valor, ni ningún contenido adicional de ningún tipo. Esta regla se aplica universalmente a cada elemento HTML.
Este error suele ocurrir debido a uno de varios errores comunes:
-
Atributos mal ubicados: Un atributo como
classoidfue escrito accidentalmente en la etiqueta de cierre en lugar de (o además de) la etiqueta de apertura. - Errores de copiar y pegar: Al duplicar o reestructurar código, los atributos pueden terminar adjuntos a la etiqueta incorrecta.
-
Errores tipográficos o etiquetas mal formadas: Un
>faltante en la etiqueta de apertura puede hacer que el navegador o validador interprete lo que sigue como parte de la etiqueta de cierre.
Aunque la mayoría de los navegadores son tolerantes e simplemente ignorarán los atributos en las etiquetas de cierre, esto sigue siendo un problema. Señala un marcado mal formado que puede causar comportamiento impredecible en analizadores, lectores de pantalla y otras herramientas que procesan HTML. También hace que tu código sea más difícil de leer y mantener, y puede indicar un problema estructural más profundo — como un atributo que debería estar en la etiqueta de apertura y por lo tanto no se está aplicando en absoluto.
Ejemplos
Atributo colocado accidentalmente en la etiqueta de cierre
Esto desencadena el error porque class aparece en la etiqueta de cierre </p>:
<p>Bienvenido al sitio.</p class="welcome">
Elimina el atributo de la etiqueta de cierre y colócalo en la etiqueta de apertura:
<p class="welcome">Bienvenido al sitio.</p>
Atributo duplicado en ambas etiquetas
A veces los atributos aparecen tanto en las etiquetas de apertura como de cierre:
<div id="sidebar" class="panel">
<p>Contenido de la barra lateral</p>
</div id="sidebar">
La solución es eliminar todos los atributos de la etiqueta de cierre:
<div id="sidebar" class="panel">
<p>Contenido de la barra lateral</p>
</div>
> faltante en la etiqueta de apertura causando una cascada
Un error tipográfico sutil en la etiqueta de apertura puede llevar a este error. Aquí, el > faltante después del <h2 de apertura hace que el validador malinterprete el marcado:
<h2 class="title"Capítulo Uno</h2>
Añadir el > faltante corrige la estructura:
<h2 class="title">Capítulo Uno</h2>
Múltiples elementos con el mismo error
Este patrón a veces aparece cuando los desarrolladores añaden atributos a las etiquetas de cierre como “comentarios” informales para rastrear qué elemento se está cerrando:
<div class="header">
<nav class="main-nav">
<ul>
<li><a href="/">Inicio</a></li>
</ul>
</nav class="main-nav">
</div class="header">
Si quieres anotar las etiquetas de cierre para legibilidad, usa comentarios HTML en su lugar:
<div class="header">
<nav class="main-nav">
<ul>
<li><a href="/">Inicio</a></li>
</ul>
<!-- .main-nav -->
<!-- .header -->
Encuentra problemas como este automáticamente
Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.