Skip to main content
Validación HTML

CSS: “cursor”: “hand” no es un valor válido para “cursor”.

Acerca de este problema HTML

La propiedad CSS cursor controla la apariencia del puntero del ratón cuando se sitúa sobre un elemento. El valor hand fue introducido por las primeras versiones de Internet Explorer (IE 5.5 y anteriores) como una extensión propietaria para mostrar un cursor de mano señalando sobre elementos clicables. Sin embargo, este valor nunca fue parte de ninguna especificación CSS, y ningún otro navegador lo adoptó. El equivalente estándar del W3C es pointer, que ha sido soportado por todos los navegadores — incluyendo Internet Explorer 6 y posteriores — durante más de dos décadas.

Cuando el validador del W3C encuentra cursor: hand, lo marca como un valor inválido porque hand no existe en la lista de valores aceptados para cursor en la especificación CSS. Aunque algunos navegadores heredados pueden interpretarlo, los navegadores modernos simplemente ignorarán la declaración inválida, lo que significa que tus elementos clicables no mostrarán el cursor de mano esperado para muchos usuarios.

Más allá de la validación, usar valores CSS no estándar puede causar comportamiento inconsistente entre navegadores y plataformas. El valor pointer es universalmente soportado y es la forma correcta de señalar que un elemento es interactivo, como un enlace, botón, o cualquier región clicable personalizada.

Para corregir este problema, reemplaza cada instancia de cursor: hand con cursor: pointer en tus hojas de estilo. Si necesitas soportar versiones extremadamente antiguas de Internet Explorer (IE 5.5 o anteriores), puedes declarar ambos valores — el navegador usará el que reconozca — aunque esto casi nunca es necesario hoy en día.

Ejemplos

CSS inválido

El valor hand no es reconocido por la especificación CSS y generará un error de validación:

.clickable {
  cursor: hand;
}

CSS válido

Usa el valor estándar pointer en su lugar:

.clickable {
  cursor: pointer;
}

Usándolo en contexto con HTML

<style>
  .card {
    padding: 16px;
    border: 1px solid #ccc;
    cursor: pointer;
  }
</style>

<div class="card">
  Haz clic en mí para ver detalles
</div>

Fallback heredado (rara vez necesario)

Si por alguna razón debes soportar IE 5.5 o anteriores junto con navegadores modernos, puedes proporcionar ambas declaraciones. El navegador aplicará el último valor que entienda:

.clickable {
  cursor: hand;
  cursor: pointer;
}

Ten en cuenta que este patrón de fallback seguirá produciendo una advertencia de validación para el valor hand. En la práctica, virtualmente no hay razón para soportar navegadores tan antiguos, por lo que usar solo cursor: pointer es el enfoque recomendado.

Valores comunes de cursor

Como referencia, aquí tienes algunos de los valores válidos de cursor más utilizados definidos en la especificación CSS:

  • auto — el navegador determina el cursor basándose en el contexto (comportamiento predeterminado)
  • default — el cursor predeterminado de la plataforma, típicamente una flecha
  • pointer — una mano señalando, indicando un enlace o elemento clicable
  • text — una barra en I, indicando texto seleccionable
  • move — indica que algo puede ser movido
  • not-allowed — indica que una acción no está permitida
  • grab / grabbing — indica un elemento arrastrable
  • crosshair — un cursor de selección precisa
  • wait — indica que el programa está ocupado
  • help — indica que hay ayuda disponible

La lista completa de valores aceptados está definida en la especificación CSS Basic User Interface Module.

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.