Saltar al contenido
SilktideAyuda

Cancelación del puntero

Silktide detecta botones y enlaces que actúan en el mismo momento en que se pulsan, en lugar de cuando se suelta la pulsación. Actuar al soltar da a las personas la oportunidad de recuperarse de haber pulsado lo incorrecto deslizando fuera del control antes de soltar.

Por qué es importante

Todo el mundo pulsa el botón equivocado alguna vez, pero las personas con temblores, destreza limitada o baja visión lo hacen con mucha más frecuencia. El gesto universal de recuperación es mantener la pulsación, arrastrar fuera del control y soltar, lo cual funciona porque los botones y los enlaces normalmente actúan al soltar. Un control programado para reaccionar con la pulsación inicial elimina esa vía de escape: la acción se dispara al instante, sin forma de abortarla. En un botón de enviar un formulario o de eliminar, un desliz se convierte en un error irreversible.

Se trata del criterio de éxito 2.5.2 de las (Cancelación del puntero), un requisito de , parte del nivel de conformidad más básico.

Cómo solucionarlo

  1. Dispara las acciones desde el evento click, que se dispara al soltar, en lugar de mousedown, pointerdown o touchstart.
  2. Si un control realmente necesita responder a la pulsación inicial —por ejemplo, una tecla de piano en una aplicación de música—, asegúrate de que al soltar fuera del control se revierta o aborte la acción, o proporciona una opción de deshacer.
  3. Si el escuchador señalado no dispara realmente ninguna acción (puede que solo añada un efecto visual de pulsado), puedes el hallazgo.
\/\/ Problema: se dispara inmediatamente al pulsar, no se puede cancelar
button.addEventListener('mousedown', submitForm);

\/\/ Solución: se dispara al soltar, por lo que arrastrar fuera lo cancela
button.addEventListener('click', submitForm);

Cómo lo prueba Silktide

  1. Cargar cada página en un navegador real y registrar los escuchadores de eventos de que registra.
  2. Buscar escuchadores para los eventos de pulsación inicial: mousedown, pointerdown y touchstart.
  3. Informar de un escuchador cuando esté adjunto a un control que normalmente se activa al soltar: un botón, un enlace, un campo input de tipo submit o reset, o un elemento con un rol de como button, link, menuitem, tab o switch.
  4. Omitir los escuchadores a nivel de página que no estén adjuntos a un control específico, que suelen pertenecer al desplazamiento o a la gestión de arrastrar y soltar en lugar de a la activación.
  5. Como Silktide no puede saber qué hace el código del escuchador, los hallazgos se señalan para tu confirmación en lugar de contarlos como fallos confirmados.

Solución de problemas

El escuchador no activa nada

Los escuchadores del evento de pulsación inicial (down) suelen usarse para efectos inocuos: un estilo de pulsado, una animación de onda o la gestión del foco, mientras que la acción real sigue en click. Eso satisface el criterio; aprueba el hallazgo.

El control es un deslizador o un asa de arrastre

Los deslizadores, las asas de arrastre y componentes similares legítimamente siguen la pulsación inicial. WCAG considera el evento de pulsación inicial (down) esencial para estas interacciones; aprueba el hallazgo.

Más información

Última actualización

¿Le ha resultado útil esta página?