Principio 2/2.5 Modalidades de los input/2.5.2-A
De WCAG Wiki
2.5.2-A. Cancelación del puntero
- Nivel: A
- Versión: 2.1
- Principio: 2_Operable
- Pauta: 2.5_Modalidades_de_entrada
- Grupo: Interacción
- Subgrupo: Gestos_y_movimiento
Discapacidades afectadas
Este criterio puede afectar a distintas personas con discapacidad. A continuación se indican las más relevantes.
-
Motriz –
Barrera grave
-
Baja visión –
Barrera moderada
-
Cognitiva –
Barrera leve
Enunciado del criterio (Observatorio de Accesibilidad Web)
- Toda funcionalidad que se pueda operar mediante un puntero sencillo (single pointer) debe cumplir al menos una de las siguientes condiciones:
- El evento
pointerdownno activa la acción. - La acción se completa con
pointerupy puede cancelarse o deshacerse. - El evento
pointeruprevierte cualquier efecto delpointerdown. - La activación en
pointerdownes esencial para la funcionalidad.
- El evento
Comprensión del criterio
Descripción resumida
Las funciones activadas por clic o toque no deben ejecutarse de forma irreversible al pulsar el elemento. El usuario debe poder cancelar o revertir la acción.
Objetivo
Evitar activaciones accidentales y permitir cancelar acciones iniciadas involuntariamente.
Importancia de cumplir el criterio
Es esencial para personas con temblores, movimientos involuntarios, dificultades de precisión o que usan dispositivos alternativos como punteros de cabeza.
Referencias WCAG
- Understanding Success Criterion 2.5.2: Pointer Cancellation (W3C)
- WCAG Quick Reference – 2.5.2
- MDN — Pointer Events API
Recursos de apoyo
- Patrones UI seguros: confirmación / deshacer
- Buenas prácticas para
pointerdownypointerup
Evaluación del criterio
Tipo de evaluación
Evaluación Manual
Procedimiento de evaluación
- Identificar componentes que responden a clic/tap.
- Verificar que no ejecutan acciones irreversibles en
pointerdown. - Comprobar que la acción se ejecuta en
pointerupy puede cancelarse. - Confirmar alternativa accesible si
pointerdownes esencial. - Probar con dispositivos táctiles y sistemas de acceso alternativo.
Resultado esperado
El usuario puede cancelar o deshacer acciones activadas por puntero, evitando activaciones accidentales.
Ejemplo ilustrativo
✅ Accesible: acción segura en pointerup
<button id="borrar">Borrar elemento</button>
<script>
document.getElementById('borrar').addEventListener('pointerup', ()=> {
if(confirm('¿Eliminar?')) eliminar();
});
</script>
Otras herramientas de evaluación
- Pruebas táctiles
- Switch Control / Puntero de cabeza
- VoiceOver / TalkBack
Ejemplos accesibles y no accesibles creados por alumnos
<!DOCTYPE html>
⚠️ PROBLEMA 3.3.2-C: Este formulario NO tiene etiquetas ni instrucciones claras
Reserva de Hotel
⚠️ Problemas de este formulario:
- No hay etiquetas
<label>para ningún campo - Algunos placeholders son ambiguos ("Código" - ¿qué código?)
- No se indica qué campos son obligatorios
- No hay instrucciones sobre el formato esperado
- El select dice "Selecciona" pero ¿seleccionar qué?
- Un campo no tiene ni placeholder ni etiqueta (campo de email)
- No hay indicación de formato de fecha específico
- No se explica para qué sirve cada campo
<!DOCTYPE html>
✅ ACCESIBLE 3.3.2-C: Este formulario tiene etiquetas e instrucciones claras
Reserva de Hotel
Complete el siguiente formulario para reservar su estadía
Nota: Los campos marcados con * son obligatorios
✅ Implementación correcta:
- Cada campo tiene una etiqueta
<label>clara asociada - Los campos obligatorios están claramente marcados con *
- Hay instrucciones específicas sobre formato y contenido esperado
- Los selectores tienen opciones descriptivas, no ambiguas
- Se explica el propósito de cada campo cuando no es obvio
- Se proporcionan ejemplos en los placeholders
- Hay una nota inicial explicando la convención de campos obligatorios
- Se usan atributos ARIA apropiados (aria-required, aria-describedby)
Comentarios
A continuación se muestran comentarios sobre el criterio 2.5.2-A. Cancelación del puntero
Loading comments...
