Skip to main content
Validación HTML

Se encontró “=” cuando se esperaba un nombre de atributo. Causa probable: falta el nombre del atributo.

Acerca de este problema HTML

El analizador HTML lee los atributos de elementos buscando un nombre, luego un =, luego un valor. Cuando encuentra = en un lugar donde espera que comience un nombre, significa que algo ha salido mal con la sintaxis del atributo. Esto puede ocurrir de varias maneras: falta completamente un nombre de atributo antes del =, hay un doble == en lugar de un solo =, se insertó accidentalmente un espacio en el medio de un nombre de atributo, o el valor de un atributo anterior se dejó sin comillas causando que el analizador pierda la pista de dónde termina un atributo y comienza el siguiente.

Esto es un problema porque los navegadores pueden descartar silenciosamente el atributo malformado, aplicarlo incorrectamente, o incluso malinterpretar los atributos circundantes. Esto lleva a un comportamiento impredecible entre diferentes navegadores. Los lectores de pantalla y otras tecnologías de asistencia también pueden fallar al interpretar el elemento correctamente, creando problemas de accesibilidad.

Cómo solucionarlo

  1. Verifica nombres de atributo faltantes — Asegúrate de que cada signo = esté precedido por un nombre de atributo válido como class, id, src, etc.
  2. Verifica signos de igual dobles — Reemplaza cualquier == con un solo =.
  3. Verifica espacios en nombres de atributo — Los nombres de atributo no pueden contener espacios. Elimina los espacios accidentales dentro de los nombres.
  4. Verifica valores de atributo sin comillas — Siempre pon entre comillas los valores de atributo con comillas dobles. Un valor sin comillas que contenga caracteres especiales puede causar que el analizador malinterprete los atributos posteriores.
  5. Verifica caracteres = sueltos — Busca signos = residuales de errores de copiar-pegar o ediciones incompletas.

Ejemplos

Nombre de atributo faltante antes de =

Un = aparece sin nombre de atributo antes de él:

<!-- ❌ Mal: no hay nombre de atributo antes de = -->

<img ="photo.jpg" alt="A photo">

<!-- ✅ Corregido: añadido el nombre del atributo src -->

<img src="photo.jpg" alt="A photo">

Signo de igual doble

Un error tipográfico crea == en lugar de =:

<!-- ❌ Mal: signo de igual doble -->

<a href=="https://example.com">Link</a>

<!-- ✅ Corregido: signo de igual simple -->

<a href="https://example.com">Link</a>

Espacio dentro de un nombre de atributo

Un espacio divide lo que debería ser un nombre de atributo en dos tokens, dejando un = huérfano:

<!-- ❌ Mal: espacio en "data-value" divide el atributo -->

<div data- value="10">Content</div>

<!-- ✅ Corregido: sin espacio en el nombre del atributo -->

<div data-value="10">Content</div>

Valor de atributo sin comillas causando un efecto en cascada

Cuando un valor no está entre comillas, el analizador puede malinterpretar dónde termina, causando que el = del siguiente atributo aparezca en una posición inesperada:

<!-- ❌ Mal: valor de class sin comillas con espacio causa problemas de análisis -->

<p class=my class id="intro">Text</p>

<!-- ✅ Corregido: valor de atributo correctamente entre comillas -->

<p class="my-class" id="intro">Text</p>

= suelto de una edición incompleta

Un = residual de un atributo eliminado o editado parcialmente:

<!-- ❌ Mal: = suelto dejado después de eliminar un atributo -->

<div class="container" = >Content</div>

<!-- ✅ Corregido: eliminado el = suelto -->

<div class="container">Content</div>

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.