Fallo común Fallos comunes WCAG 2.2
F101Fallo del criterio de conformidad 2.5.2 debido a activar una función en el evento de pulsación (down-event) cuando no es esencial
En resumen
Este fallo se produce cuando un botón, enlace o control ejecuta su función en el mismo instante en que se pulsa el ratón o se toca la pantalla (mousedown, touchstart, pointerdown), sin esperar a que se suelte y sin posibilidad de cancelar o deshacer. Perjudica a las personas con temblores o poca precisión motriz, que activan cosas por accidente. Solo es admisible cuando la respuesta inmediata es esencial, como en un juego o un instrumento virtual.
Aplicabilidad
Todas las tecnologías que incluyen controles interactivos que pueden activarse mediante un puntero.
Descripción
El objetivo de este fallo es describir las situaciones en las que:
- los controles están configurados para activar una función en el evento de pulsación (down-event) de un puntero;
- no se dispone de ningún mecanismo adicional para abortar o deshacer;
- el evento de liberación (up-event) no revierte el resultado de la activación;
- no es esencial que la función se ejecute y complete en el evento de pulsación.
En lugar de aprovechar el evento click, los autores pueden usar eventos de pulsación como mousedown, touchstart o pointerdown. Como consecuencia, la función se ejecutará en cuanto se pulse un botón del ratón (aunque aún no se haya soltado), o en cuanto un dedo o un lápiz óptico entren en contacto con la pantalla táctil.
Es posible usar el evento de pulsación y mitigar los posibles problemas para evitar fallar el criterio de conformidad. Por ejemplo, ofrecer un método para deshacer o abortar la función con facilidad, o revertir el resultado en el evento de liberación (cuando se suelta el botón del ratón, o cuando el dedo o el lápiz óptico se levantan de la pantalla táctil). Y téngase en cuenta que algunos usos del evento de pulsación son esenciales para la función (por ejemplo, cuando el control simula el funcionamiento de un instrumento musical, como un conjunto de teclas de piano, o cuando el control se usa como control en pantalla de un juego que requiere una respuesta rápida e inmediata), en cuyo caso no fallarían este criterio de conformidad.
El procedimiento de prueba que se describe a continuación podría complementarse con pruebas automáticas o semiautomáticas que busquen código JavaScript que registre escuchadores de eventos como mousedown, touchstart o pointerdown. La prueba automática no sería suficiente para determinar si el contenido cumple o falla, pero puede ayudar a reducir el número de controles potencialmente problemáticos.
Ejemplos
Un botón de cerrar que se activa en los eventos de pulsación
Un diálogo modal contiene un formulario extenso que el usuario debe completar. El modal ofrece un sencillo control «Close» (cerrar) que cierra el diálogo y pierde toda la información que el usuario ya haya introducido en el formulario. Sin embargo, en lugar de limitarse a escuchar el evento click (que en la mayoría de los agentes de usuario se dispara en el evento de liberación), el autor decidió cerrar el diálogo en el evento de pulsación. Esto puede provocar que el usuario cierre el diálogo por accidente y pierda todos los datos que había introducido en el formulario hasta ese momento.
<!-- modal dialog with a form -->
...
<button id="close" type="button">Close</button>
...
const trigger = document.getElementById("close");
function closeDialog() {
/* close the modal dialog */
...
}
trigger.addEventListener('mousedown', closeDialog);
trigger.addEventListener('touchstart', closeDialog);
trigger.addEventListener('pointerdown', closeDialog);
Pruebas
Procedimiento
Abrir el contenido en un dispositivo con entradas de puntero (ratón, pantalla táctil, lápiz óptico) y, para todos los controles disponibles (botones, enlaces, componentes complejos):
- Provocar eventos de pulsación (por ejemplo, pulsando sin soltar el botón del ratón, o apoyando un dedo o el lápiz óptico en la pantalla táctil) y comprobar si la función se ejecuta antes del evento de liberación (por ejemplo, soltar el botón del ratón o levantar el dedo o el lápiz óptico).
- Si la función se ejecutó en el evento de pulsación, comprobar si provocar el evento de liberación (soltar el botón del ratón pulsado, o levantar el dedo o el lápiz óptico de la pantalla táctil) revierte el resultado.
- Evaluar si podría considerarse esencial que los controles ejecuten y completen la función en el evento de pulsación.
Resultados esperados
- Si la comprobación n.º 1 es verdadera, y las comprobaciones n.º 2 y n.º 3 son falsas, entonces el contenido falla el criterio de conformidad.
Cómo lo comprobamos en ADDAW
Este fallo es uno de los que buscamos en cada auditoría de accesibilidad de ADDAW: lo documentamos con capturas y el código afectado, indicamos el criterio que incumple y la técnica suficiente con la que se corrige. Los informes siguen la metodología del Observatorio de Accesibilidad y la norma UNE-EN 301 549.
Fuente y licencia
Traducción al español, no oficial, realizada por ADDAW a partir de la técnica F101 del documento «Techniques for WCAG 2.2» del W3C (versión del repositorio público del W3C a 22/10/2026). Copyright © W3C® (MIT, ERCIM, Keio, Beihang). Se publica conforme a la licencia de documentos del W3C. El texto normativo de referencia es el original en inglés; si detecta un error en la traducción, escríbanos.