Skip to main content
Validación HTML

Valor incorrecto “” para el atributo “target” en el elemento “a”: El nombre del contexto de navegación debe tener al menos un carácter.

Acerca de este problema HTML

El atributo target especifica dónde debe abrirse un documento enlazado. Cuando el validador encuentra target="", reporta un error porque la especificación HTML requiere que los nombres de contexto de navegación tengan al menos un carácter. Una cadena vacía no es un nombre de contexto de navegación válido y no tiene un comportamiento definido, lo que significa que los navegadores pueden manejarlo de manera inconsistente.

Este problema surge comúnmente cuando un valor target se genera dinámicamente por un CMS, motor de plantillas o JavaScript y el valor termina siendo vacío. También puede ocurrir cuando un desarrollador agrega el atributo con la intención de completarlo después, pero se olvida de hacerlo.

Establecer target como una cadena vacía es problemático por varias razones:

  • Cumplimiento de estándares: La especificación HTML de WHATWG requiere explícitamente que los nombres de contexto de navegación válidos sean cadenas no vacías. Un valor vacío viola esta regla.
  • Comportamiento impredecible: Los navegadores pueden interpretar un target vacío de manera diferente — algunos pueden tratarlo como _self, otros pueden comportarse de forma inesperada. Esto hace que tu sitio sea más difícil de probar y mantener.
  • Preocupaciones de accesibilidad: Los lectores de pantalla y las tecnologías de asistencia pueden anunciar el atributo target o usarlo para informar a los usuarios sobre el comportamiento del enlace. Un valor vacío no proporciona información significativa.

Para solucionarlo, elige uno de los siguientes enfoques:

  1. Elimina el atributo si quieres el comportamiento predeterminado (abrir en el mismo contexto de navegación, equivalente a _self).
  2. Establece una palabra clave válida como _blank, _self, _parent o _top.
  3. Establece un nombre personalizado si quieres que múltiples enlaces compartan el mismo contexto de navegación (p. ej., target="externalWindow").

Ejemplos

❌ Inválido: atributo target vacío

<a href="https://example.com" target="">Visitar Example</a>

Esto desencadena el error de validación porque el valor target es una cadena vacía.

✅ Corregido: eliminar target completamente

Si quieres que el enlace se abra en el contexto de navegación actual (el predeterminado), simplemente elimina el atributo:

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

✅ Corregido: usar _blank para abrir en una nueva pestaña

<a href="https://example.com" target="_blank" rel="noopener">Visitar Example</a>

Nota la adición de rel="noopener" — esta es una buena práctica de seguridad al usar target="_blank", ya que evita que la página abierta acceda a la propiedad window.opener.

✅ Corregido: usar _self explícitamente

Si quieres ser explícito sobre abrir en el mismo contexto:

<a href="https://example.com" target="_self">Visitar Example</a>

✅ Corregido: usar un nombre de contexto de navegación personalizado

Puedes usar un nombre personalizado para que múltiples enlaces reutilicen la misma pestaña o ventana:

<a href="https://example.com" target="externalWindow">Example</a>
<a href="https://example.org" target="externalWindow">Example Org</a>

Ambos enlaces se abrirán en el mismo contexto de navegación llamado externalWindow. Si aún no existe, el navegador lo crea; los clics posteriores lo reutilizan.

Plantillas dinámicas

Si tu valor target proviene de una plantilla o CMS, asegúrate de que el atributo se renderice condicionalmente en lugar de mostrarse con un valor vacío. Por ejemplo, en un lenguaje de plantillas:

<!-- En lugar de siempre mostrar target -->

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

<!-- Solo incluir target cuando existe un valor -->

<a href="https://example.com" target="_blank" rel="noopener">Visitar</a>

En la lógica de tu plantilla, omite condicionalmente el atributo target completamente cuando no se proporciona ningún valor, en lugar de renderizarlo como una cadena vacía.

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.