Acerca de este problema HTML
Cuando el analizador HTML encuentra los atributos de una etiqueta, espera una estructura específica: un nombre de atributo, seguido de un signo igual, seguido de un valor entre comillas. Si aparece un carácter de comilla donde el analizador espera un nombre de atributo, significa que algo ha salido mal en la sintaxis anteriormente en la etiqueta. El validador marca esto como Quote """ in attribute name y sugiere que probablemente falta una comilla de cierre en algún lugar anterior.
Este problema importa porque los navegadores intentarán recuperarse del HTML mal formado de maneras impredecibles. Un navegador podría ignorar completamente el atributo, mientras que otro podría fusionarlo con el texto adyacente. Esto puede llevar a estilos rotos, funcionalidad faltante, o elementos que se comportan de manera diferente entre navegadores. Para la accesibilidad, los atributos mal formados pueden impedir que las tecnologías asistivas interpreten correctamente la semántica y los roles de los elementos.
Hay varias causas comunes para este error:
- Signo igual faltante entre un nombre de atributo y su valor, causando que el analizador trate la comilla de apertura como parte del nombre del atributo.
- Comilla de cierre extra que termina prematuramente un valor de atributo, dejando las comillas posteriores huérfanas.
- Comillas sin escapar dentro de valores de atributos, que rompen la estructura de comillado de toda la etiqueta.
-
Errores de copiar y pegar que introducen comillas curvas/inteligentes (
"") o caracteres de comilla extra. - Una comilla de cierre faltante en un atributo anterior, causando que el analizador consuma los atributos posteriores como parte de ese valor.
Ejemplos
Signo igual faltante
La causa más común. Sin el =, el analizador ve class como un atributo y luego encuentra " donde espera otro nombre de atributo.
❌ Incorrecto:
<p class"news">Este párrafo tiene markup roto.</p>
✅ Corregido:
<p class="news">Este párrafo tiene markup correcto.</p>
Comilla de cierre faltante en un atributo anterior
Cuando se deja una comilla sin cerrar, todo lo que viene después—incluyendo otros atributos—se consume como parte del valor, hasta que el analizador eventualmente encuentra otra comilla en una posición inesperada.
❌ Incorrecto:
<a href="/about class="link">Acerca de nosotros</a>
Aquí, el valor de href nunca se cierra. El analizador lee /about class= como el valor href, luego encuentra "link" en un contexto inesperado.
✅ Corregido:
<a href="/about" class="link">Acerca de nosotros</a>
Carácter de comilla extra
Una comilla extra perdida rompe el emparejamiento de las comillas posteriores.
❌ Incorrecto:
<div id=""main" class="container">Contenido</div>
✅ Corregido:
<div id="main" class="container">Contenido</div>
Comillas sin escapar dentro de un valor de atributo
Si el valor del atributo en sí contiene una comilla doble, debe ser escapada como " o el atributo debe usar comillas simples en su lugar.
❌ Incorrecto:
<input type="text" value="Ella dijo "hola"">
✅ Corregido (usando "):
<input type="text" value="Ella dijo "hola"">
✅ También corregido (usando comillas simples para el atributo):
<input type="text" value='Ella dijo "hola"'>
Comillas inteligentes/curvas por copiar y pegar
Los procesadores de texto y editores de texto enriquecido a menudo convierten las comillas rectas a comillas curvas, que no son válidas para delimitadores de atributos HTML.
❌ Incorrecto:
<p class="highlight">Texto con estilo</p>
✅ Corregido:
<p class="highlight">Texto con estilo</p>
Cómo depurar este problema
Cuando veas este error, el validador usualmente apunta a un número de línea específico, pero la causa raíz puede estar en esa línea o anteriormente en la misma etiqueta. Sigue estos pasos:
- Ve a la línea indicada por el validador y examina la etiqueta completa.
-
Revisa cada atributo en ese elemento para la sintaxis correcta
name="value". - Cuenta las comillas — cada valor de atributo debe tener exactamente una comilla de apertura y una de cierre.
-
Busca signos
=faltantes entre nombres de atributos y sus valores. -
Busca comillas curvas (
",",',') y reemplázalas con comillas rectas ("o'). - Si la línea se ve correcta, revisa las líneas anteriores — una comilla sin cerrar en un elemento anterior puede crear errores en cascada en el markup posterior.
Encuentra problemas como este automáticamente
Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.