Manejadores de evento lógicos

Ayer comentaba el uso negativo de scripts incrustados en enlaces para el evento onclick, concretamente en el diario ADN. Teniendo en cuenta lo dicho en ese post voy a dar una vuelta de tuerca más y ver como mejorar la accesibilidad en lo que respecta a los eventos.

¿Qué son los eventos?

Son sucesos que acontecen en los sitios web:

  • El usuario hace click en un enlace.
  • El usuario pone el foco en un control de entrada de texto.
  • La página web ha sido cargada en el navegador.
  • etc.

¿Qué son los manejadores de evento? (event handler)

Son los encargados de captura el suceso:

  • onclick
  • onfocus
  • onload
  • etc.

En definitiva el evento es el suceso que ocurre, y el manejador es el encargado de detectar ese suceso.

¿Qué son los manejadores de evento lógicos?

Son aquellos que funcionan a nivel de aplicación y no por la interacción del usuario a través de un periférico de entrada en concreto. Por tanto, un manejador de evento lógico funciona tanto si se usa el ratón como el teclado, siendo independientes del dispositivo que los acciona.

Son manejadores de evento lógicos: onfocus, onblur, onselect.

Por el contrario algunos manejadores de evento dependientes del dispositivo son: onmousedown, onmouseup, onkeypress, onkeyup.

Mejorando la accesibilidad

  1. Podemos remplazar el evento dependiente de dispositivo onmouseover por onfocus que si es un evento lógico.
  2. Por otro lado se pueden especificar redundancias para asegurarnos de que capturamos el evento con el mayor abanico de dispositivos. Un ejemplo de esto es especificar el evento onclick y además incluir onkeypress.

Sobre este último punto diría como regla que:

Se debe intentar evitar el uso de manejadores de eventos dependientes de dispositivo que no tengan equivalentes redundantes.

Compartir: