Acerca de este problema HTML
Las URLs deben cumplir con el URL Living Standard, que prohíbe los caracteres de tabulación (U+0009) dentro de la parte del host/dominio de una URL. Aunque algunos navegadores pueden eliminar silenciosamente las tabulaciones y aún así navegar al destino previsto, este comportamiento no está garantizado y no se debe confiar en él.
Este problema típicamente surge de uno de los siguientes escenarios:
- Errores de copiar-pegar: Copiar una URL de un documento, email o hoja de cálculo que inadvertidamente incluye caracteres de tabulación.
- Formato de plantillas o herramientas de construcción: Un motor de plantillas o generador de código que inserta espacios en blanco (incluyendo tabulaciones) en una cadena de URL, especialmente cuando la URL se construye a través de múltiples líneas.
-
Errores tipográficos manuales: Presionar accidentalmente la tecla Tab mientras se edita un valor
href, particularmente en editores que no visualizan los espacios en blanco.
Los caracteres de tabulación son invisibles en la mayoría de editores de código por defecto, lo que hace que este error sea frustrante de rastrear. Habilitar “mostrar espacios en blanco” o “mostrar caracteres invisibles” en tu editor puede ayudarte a detectar el carácter problemático.
Por qué esto importa
-
Cumplimiento de estándares: La especificación HTML requiere que los valores
hrefcontengan URLs válidas. Una tabulación en el dominio hace que la URL sea sintácticamente inválida. -
Accesibilidad: Los lectores de pantalla y tecnologías asistivas analizan los valores
hrefpara anunciar los destinos de los enlaces. Una URL inválida puede llevar a anuncios confusos o rotos. - Fiabilidad: Aunque los navegadores principales tienden a ser permisivos y eliminan las tabulaciones antes de resolver URLs, algunos clientes HTTP, crawlers o navegadores más antiguos pueden no hacerlo. Esto puede causar enlaces rotos en contextos inesperados como lectores RSS, clientes de email o web scrapers.
Cómo solucionarlo
- Habilita los espacios en blanco visibles en tu editor para localizar los caracteres de tabulación.
-
Busca caracteres de tabulación en tus valores
href. En muchos editores, puedes usar una búsqueda regex para\tdentro de valores de atributos. - Elimina los caracteres de tabulación para que la URL sea una cadena limpia y continua sin espacios en blanco incrustados.
- Si las URLs se generan dinámicamente, inspecciona el código que las construye para asegurar que no se concatenen tabulaciones u otros espacios en blanco en el dominio.
Ejemplos
❌ Incorrecto: Carácter de tabulación en el dominio
En el ejemplo siguiente, un carácter de tabulación está incrustado dentro del nombre del dominio (representado aquí como 	 para visibilidad, aunque en el código fuente sería una tabulación invisible real):
<!-- La tabulación entre "example" y ".com" causa el error -->
<a href="https://example .com/page">Visit Example</a>
Nota: El carácter de tabulación entre example y .com es invisible en la mayoría de editores pero desencadena el error de validación.
✅ Correcto: URL limpia sin espacios en blanco
<a href="https://example.com/page">Visit Example</a>
❌ Incorrecto: Tabulación introducida por construcción de URL multilínea en una plantilla
Esto puede suceder cuando una URL se divide en líneas en una plantilla y se usan tabulaciones para la indentación:
<a href="https://
example.com/page">Visit Example</a>
✅ Correcto: URL en una sola línea sin espacios en blanco incrustados
<a href="https://example.com/page">Visit Example</a>
Consejo: Encontrar tabulaciones ocultas
Si tienes problemas localizando el carácter de tabulación, intenta pegar tu valor href en una herramienta que revele códigos de caracteres, o ejecuta una verificación rápida en la consola del desarrollador de tu navegador:
// Verificar tabulaciones en una cadena de URL
const url = document.querySelector('a').getAttribute('href');
console.log(url.includes('\t')); // true si hay una tabulación presente
console.log(JSON.stringify(url)); // muestra \t explícitamente en la salida
Encuentra problemas como este automáticamente
Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.