El Atributo ISMAP

Se utiliza en imágenes dentro de enlaces para habilitar un mapa de imagen del lado del servidor. Permite capturar las coordenadas del clic del usuario en una imagen y enviarlas al servidor, donde pueden procesarse para generar una respuesta dinámica.
El atributo ismap
se utiliza en imágenes dentro de enlaces para habilitar un mapa de imagen del lado del servidor. Este atributo permite capturar las coordenadas del clic del usuario en una imagen y enviarlas al servidor, donde pueden procesarse para generar una respuesta dinámica. A continuación, se detalla su uso paso a paso:
¿Qué es ismap
?
-
Propósito: Enviar las coordenadas (x, y) del clic del usuario en una imagen al servidor.
-
Funcionamiento:
-
La imagen debe estar dentro de una etiqueta
<a>
(enlace). -
Al hacer clic en la imagen, el navegador añade las coordenadas a la URL del enlace.
-
-
Uso típico: Aplicaciones que requieren procesar clics en zonas específicas de una imagen (ej: mapas interactivos, gráficos).
Sintaxis Básica
<a href="script-del-servidor"> <img src="imagen.jpg" alt="Descripción" ismap> </a>
-
ismap
: Se aplica a la etiqueta<img>
dentro de un enlace<a>
. -
Resultado: Al hacer clic, la URL enviada será
script-del-servidor?x=valor&y=valor
.
Ejemplo Práctico
HTML:
<a href="procesar.php"> <img src="mapa.jpg" alt="Mapa interactivo" ismap> </a>
Al hacer clic en la imagen, el navegador redirige a una URL como:
procesar.php?x=150&y=75
Donde 150
y 75
son las coordenadas del clic respecto a la esquina superior izquierda de la imagen.
Procesamiento en el Servidor
El servidor debe manejar los parámetros x
e y
para realizar acciones según la zona clicada.
Ejemplo en PHP (procesar.php
):
CSS:
<?php if (isset($_GET['x']) && isset($_GET['y'])) { $x = intval($_GET['x']); $y = intval($_GET['y']); echo "Coordenadas del clic: X=$x, Y=$y"; } else { echo "No se recibieron coordenadas."; } ?>
Consideraciones Clave
La imagen debe estar dentro de un enlace:
ismap
solo funciona si la imagen está envuelta en <a>
.
Coordenadas relativas a la imagen:
Las coordenadas se calculan basadas en el tamaño de visualización de la imagen, no en su tamaño original.
Compatibilidad con navegadores:
-
Funciona en todos los navegadores modernos (Chrome, Firefox, Safari, Edge).
-
No es compatible con lectores de pantalla, ya que no proporciona información semántica.
Diferencias entre ismap
y Mapas de Imagen del Lado del Cliente
Característica | ismap |
<map> + <area> |
---|---|---|
Procesamiento | En el servidor. | En el navegador (sin enviar datos). |
Accesibilidad | Limitada (sin texto alternativo por zona). | Mejor (se usa alt en <area> ). |
Uso | Dinámico (requiere lógica en el servidor). | Estático (definido en HTML). |
Buenas Prácticas
Usa ismap
solo cuando necesites procesamiento en el servidor: Para navegación estática, prefiere <map>
y <area>
.
Combina con CSS para feedback visual: Aplica estilos al enlace para indicar que la imagen es interactiva.
img[ismap] { border: 2px solid #2196F3; cursor: pointer; }
Proporciona una alternativa accesible: Si usas ismap
, incluye una descripción textual o un enlace alternativo.
Ejemplo Avanzado: Mapa de Clima Interactivo
HTML:
<a href="clima.php"> <img src="mapa-clima.png" alt="Mapa del clima" ismap> </a>
PHP (clima.php):
<?php $x = $_GET['x'] ?? 0; $y = $_GET['y'] ?? 0; // Determinar región basada en coordenadas if ($x >= 100 && $x <= 200 && $y >= 50 && $y <= 150) { echo "Pronóstico para la región norte: Soleado."; } else { echo "Seleccione una región en el mapa."; } ?>
Errores Comunes
-
Olvidar el enlace padre:
ismap
no funciona si la imagen no está dentro de<a>
. -
Usar sin lógica en el servidor: Sin procesar
x
ey
, el atributo no tiene utilidad. -
Ignorar la accesibilidad: Complementa con texto descriptivo para usuarios que no pueden ver la imagen.
Conclusión
El atributo ismap
es una herramienta útil para aplicaciones que requieren interacción basada en coordenadas en imágenes. Al combinarlo con un servidor capaz de procesar estos datos, puedes crear experiencias dinámicas y personalizadas. Sin embargo, para la mayoría de los casos, los mapas de imagen del lado del cliente (<map>
) son más apropiados y accesibles.