Skip to main content
Validación HTML

La referencia de carácter no fue terminada con un punto y coma.

Acerca de este problema HTML

Las referencias de carácter son la forma en que HTML representa caracteres especiales que de otra manera serían interpretados como marcado o que no son fáciles de escribir con el teclado. Vienen en tres formas:

  • Referencias con nombre como &, <, ©
  • Referencias numéricas decimales como <, ©
  • Referencias numéricas hexadecimales como <, ©

Las tres formas comparten la misma estructura: comienzan con & y deben terminar con ;. Cuando omites el punto y coma final, el analizador HTML entra en modo de recuperación de errores. Dependiendo del contexto, puede que aún resuelva la referencia (los navegadores son tolerantes), pero este comportamiento no está garantizado y varía según las situaciones. Por ejemplo, &copy sin punto y coma podría seguir renderizándose como ©, pero &notit podría malinterpretarse como la referencia &not; (¬) seguida de it, produciendo una salida inesperada como “¬it” en lugar del texto literal “&notit”.

Por qué es importante

  • Renderizado impredecible: Sin el punto y coma, los navegadores usan recuperación de errores heurística que puede producir diferentes resultados dependiendo del texto circundante. Lo que se ve bien hoy podría romperse con diferentes caracteres adyacentes.
  • Cumplimiento de estándares: La especificación HTML de WHATWG requiere el terminador de punto y coma. Omitirlo es un error de análisis.
  • Mantenibilidad: Otros desarrolladores (o tu yo futuro) pueden no darse cuenta de que el ampersand estaba destinado a ser una referencia de carácter, haciendo el código más difícil de leer y mantener.
  • Integridad de datos: En URLs dentro de atributos href, un punto y coma faltante en una referencia de carácter puede corromper los parámetros de consulta y producir enlaces rotos.

Cómo solucionarlo

  1. Agrega el punto y coma faltante al final de cada referencia de carácter.
  2. Si quisiste un ampersand literal, usa &amp; en lugar de un & simple. Esto es especialmente común en URLs con cadenas de consulta.
  3. Busca en tu documento patrones como &something sin un ; final para capturar todas las instancias.

Ejemplos

❌ Punto y coma faltante en referencias con nombre

<p>5 &lt 10 and 10 &gt 5</p>
<p>&copy 2024 All rights reserved</p>

✅ Referencias con nombre correctamente terminadas

<p>5 &lt; 10 and 10 &gt; 5</p>
<p>&copy; 2024 All rights reserved</p>

❌ Punto y coma faltante en referencias numéricas

<p>The letter A: &#65</p>
<p>Hex example: A</p>

✅ Referencias numéricas correctamente terminadas

<p>The letter A: &#65;</p>
<p>Hex example: A</p>

❌ Ampersand simple en una URL (error común)

<a href="https://example.com/search?name=alice&age=30">Search</a>

Aquí el validador ve &age e intenta interpretarlo como una referencia de carácter sin punto y coma.

✅ Ampersand escapado en una URL

<a href="https://example.com/search?name=alice&amp;age=30">Search</a>

❌ Referencia ambigua causando salida incorrecta

<p>The entity &notit; doesn't exist, but &not without a semicolon resolves to ¬</p>

✅ Usa &amp; cuando quieras un ampersand literal

<p>The text &amp;notit is displayed literally when properly escaped.</p>

Una regla práctica rápida: cada & en tu HTML debería ser o bien el inicio de una referencia de carácter completa y terminada con punto y coma, o debería escribirse como &amp;.

Encuentra problemas como este automáticamente

Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.

Ayúdanos a mejorar nuestras guías

¿Te ha sido útil esta guía?

¿Listo para validar tus sitios?
Inicia tu prueba gratuita hoy.