Skip to main content
Validación HTML

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

Acerca de este problema HTML

El atributo target en el elemento <area> le dice al navegador dónde mostrar el recurso enlazado — en la pestaña actual, una nueva pestaña, un frame padre, o un <iframe> con nombre. Según el estándar vivo HTML de WHATWG, un destino navegable válido debe ser o bien una palabra clave que comience con un guión bajo (_self, _blank, _parent, _top) o un nombre que tenga al menos un carácter de longitud. Una cadena vacía ("") no satisface ninguna de estas condiciones, por lo que el validador W3C reporta:

Bad value “” for attribute “target” on element “area”: Browsing context name must be at least one character long.

Esto ocurre comúnmente cuando los motores de plantillas o plataformas CMS generan target="" como valor predeterminado, o cuando un valor se establece condicionalmente pero la lógica falla al producir un resultado.

Por qué esto importa

  • Cumplimiento de estándares. Un target vacío viola la especificación HTML y produce un error de validación.
  • Comportamiento impredecible del navegador. Aunque la mayoría de los navegadores tratan un target vacío igual que _self, esto no está garantizado por la especificación. Depender de comportamiento indefinido puede llevar a inconsistencias entre navegadores o versiones futuras.
  • Claridad del código. Un target vacío señala una intención poco clara. Eliminarlo o usar una palabra clave explícita hace que el código sea más fácil de entender y mantener.

Cómo solucionarlo

  1. Elimina el atributo target si quieres que el enlace se abra en el mismo contexto de navegación. Este es el comportamiento predeterminado, equivalente a target="_self".
  2. Usa una palabra clave válida como _self, _blank, _parent, o _top si necesitas un comportamiento de navegación específico.
  3. Usa un contexto de navegación con nombre (ej., target="contentFrame") si quieres dirigir el enlace a un <iframe> o ventana específica. El nombre debe tener al menos un carácter de longitud.
  4. Corrige la lógica de tu plantilla si el valor vacío se está generando dinámicamente. Asegúrate de que el atributo target solo se renderice cuando un valor no vacío esté disponible.

Ejemplos

Inválido: atributo target vacío

Esto desencadena el error de validación porque target está establecido como una cadena vacía:

<img src="floor-plan.png" usemap="#rooms" alt="Floor plan">
<map name="rooms">
  <area shape="rect" coords="10,10,100,60" href="/kitchen" alt="Kitchen" target="">
</map>

Corregido: elimina target para el comportamiento predeterminado

Si quieres que el enlace se abra en la misma pestaña (el comportamiento predeterminado), simplemente elimina el atributo target:

<img src="floor-plan.png" usemap="#rooms" alt="Floor plan">
<map name="rooms">
  <area shape="rect" coords="10,10,100,60" href="/kitchen" alt="Kitchen">
</map>

Corregido: usa una palabra clave válida

Usa _self para ser explícito sobre la navegación en la misma pestaña, o _blank para abrir en una nueva pestaña:

<img src="floor-plan.png" usemap="#rooms" alt="Floor plan">
<map name="rooms">
  <area shape="rect" coords="10,10,100,60" href="/kitchen" alt="Kitchen" target="_self">
  <area shape="rect" coords="110,10,200,60" href="/bedroom" alt="Bedroom" target="_blank">
</map>

Corregido: dirige a un <iframe> con nombre

Si quieres cargar el recurso enlazado en un <iframe> específico, dale al <iframe> un atributo name y haz referencia a él en target:

<iframe name="detailView" src="about:blank" title="Room details"></iframe>
<img src="floor-plan.png" usemap="#rooms" alt="Floor plan">
<map name="rooms">
  <area shape="rect" coords="10,10,100,60" href="/kitchen" alt="Kitchen" target="detailView">
</map>

Corregido: renderiza target condicionalmente en plantillas

Si tu valor de target viene de una variable, asegúrate de que el atributo solo se genere cuando el valor no esté vacío. Por ejemplo, en una plantilla estilo Jinja:

<area shape="rect" coords="10,10,100,60" href="/kitchen" alt="Kitchen"
  {% if target_value %} target="{{ target_value }}"{% endif %}>

Esto previene que target="" aparezca en tu HTML cuando no se establece ningún valor.

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.