Diferencia entre revisiones de «Principio 2/2.5 Modalidades de los input/2.5.7-A»

De WCAG Wiki
Sin resumen de edición
Sin resumen de edición
 
(No se muestra una edición intermedia del mismo usuario)
Línea 3: Línea 3:
|id_wcag_subcriterio=2.5.7-A
|id_wcag_subcriterio=2.5.7-A
|wcag_titulo_criterio=2.5.7-A. Movimientos de arrastre
|wcag_titulo_criterio=2.5.7-A. Movimientos de arrastre
|wcag_nivel=AA*
|wcag_nivel=AA
|wcag_version=2.2
|wcag_version=2.2
|wcag_principio=2_Operable
|wcag_principio=2_Operable
|wcag_principio_url=Principio_2
|wcag_principio_url=Principio_2
|wcag_pauta=2.5_Modalidades_de_entrada
|wcag_pauta=2.5_Modalidades_de_los_input
|wcag_pauta_url=Principio_2/2.5_Modalidades_de_entrada
|wcag_pauta_url=Principio_2/2.5_Modalidades_de_los_input
|wcag_grupo=Interacción
|wcag_grupo=Interacción
|wcag_subgrupo=Gestos_y_movimiento
|wcag_subgrupo=Gestos_y_movimiento
Línea 37: Línea 37:
|wcag_referencias=
|wcag_referencias=
<ul>
<ul>
<li><span lang="en">Understanding Success Criterion 2.5.7: Dragging Movements (W3C)</span></li>
<li><span lang="en">[https://www.w3.org/WAI/WCAG22/Techniques/general/G219 G219: Ensuring that an alternative is available for dragging movements that operate on content]</span></li>
<li>WCAG 2.2 Quick Reference — 2.5.7 Dragging Movements</li>
<li><span lang="en">[https://www.w3.org/WAI/WCAG22/Techniques/failures/F108 F108: Failure of Success Criterion 2.5.7 Dragging Movements due to not providing a single pointer method that does not require a dragging movement]</span></li>
<li>WAI-ARIA Authoring Practices — Pointer and Gesture Inputs</li>
</ul>
</ul>


|wcag_recursos=
 
<ul>
|wcag_recursos= NO se presentan
<li>Buenas prácticas para controles accesibles en interfaces móviles</li>
<li>Alternativas a drag & drop: botones incrementales, selección + confirmar</li>
</ul>


|wcag_tipo_evaluacion=Manual
|wcag_tipo_evaluacion=Manual
Línea 52: Línea 48:
|wcag_pasos_evaluacion=
|wcag_pasos_evaluacion=
<ol class="paso-list">
<ol class="paso-list">
<li><span class="paso-badge">Paso 1.</span> Identificar controles que requieran arrastrar (sliders, drag & drop, áreas de dibujo).</li>
<li><span class="paso-badge">Paso 1.</span>
<li><span class="paso-badge">Paso 2.</span> Verificar que existe una alternativa mediante pulsación simple o controles de incremento.</li>
Localizar las funcionalidades que requieren un movimiento de arrastre para operar (p. ej., controles deslizantes, interfaces de arrastrar y soltar, reorganización de elementos, etc.).
<li><span class="paso-badge">Paso 3.</span> Confirmar que la alternativa es visible, operable y clara.</li>
</li>
<li><span class="paso-badge">Paso 4.</span> Probar interacción con puntero único y teclado/tecnologías de apoyo.</li>
 
<li><span class="paso-badge">Paso 5.</span> Asegurar que el arrastre solo es obligatorio si es esencial (p. ej., tareas de dibujo).</li>
<li><span class="paso-badge">Paso 2.</span>
Intentar realizar la misma operación utilizando un único puntero sin necesidad de arrastrar (por ejemplo, mediante clic/tap, teclado, botones alternativos u otro mecanismo simple de interacción).
</li>
 
<li><span class="paso-badge">Paso 3.</span>
Verificar que la funcionalidad es operable sin usar arrastrar, a menos que:
<ul>
<li>a. El movimiento de arrastre sea esencial para la naturaleza de la interacción (p. ej., un juego de dibujo o una herramienta de diseño basada en gestos), o</li>
<li>b. La funcionalidad sea completamente controlada por el agente de usuario (navegador o sistema operativo) y no modificada por el autor.</li>
</ul>
</li>
 
<li><span class="paso-badge">Paso 4.</span>
Si no existe alternativa al arrastre y la funcionalidad no es esencial ni está controlada exclusivamente por el agente de usuario, registrar como fallo.
</li>
</ol>
</ol>


|wcag_resultado_evaluacion=
|wcag_resultado_evaluacion=
Línea 64: Línea 76:
|wcag_ejemplo_evaluacion=
|wcag_ejemplo_evaluacion=
<div class="accessibility-card">
<div class="accessibility-card">
<strong>✅ Alternativa a arrastrar con control accesible</strong>
Alternativa a arrastrar con control accesible
<pre class="wcag-codigo-html">
<pre class="wcag-codigo-html">
<!-- Control deslizante con botones alternativos -->
<!-- Control deslizante con botones alternativos -->
Línea 75: Línea 87:
|wcag_otras_herramientas_evaluacion=
|wcag_otras_herramientas_evaluacion=
<ul>
<ul>
<li>Pruebas con dispositivos asistivos (puntero de cabeza, switch control, eye tracking)</li>
<li>'''Prueba manual''': intentar realizar la función normalmente asociada a arrastrar (p. ej., mover un elemento, ajustar un control deslizante, ordenar listas) usando un único clic/toque sin necesidad de arrastrar.</li>
<li>Simulación táctil en navegador</li>
<li>'''Controles alternativos''': comprobar que existe un mecanismo alternativo para realizar la acción sin arrastre (p. ej., botones “subir/bajar”, “mover izquierda/derecha”, incremento/decremento, menú contextual).</li>
<li>Evaluación manual en móvil/tablet</li>
<li>'''Navegación por teclado''': verificar que la funcionalidad es operable con teclado y que no depende exclusivamente del movimiento de arrastre.</li>
<li>Herramientas de análisis parcial: AXE, Accessibility Insights</li>
<li>'''Inspección del DOM y JS''': revisar si los eventos de arrastre (<code>drag</code>, <code>dragstart</code>, <code>pointermove</code>, etc.) cuentan con alternativas en <code>click</code> / <code>keydown</code> o equivalentes accesibles.</li>
<li>'''Pruebas asistivas''': probar con lectores de pantalla y dispositivos alternativos para confirmar que la operación puede realizarse sin gestos de arrastre.</li>
</ul>
</ul>
}}
}}

Revisión actual - 12:54 6 nov 2025

2.5.7-A. Movimientos de arrastre

Discapacidades afectadas

Este criterio puede afectar a distintas personas con discapacidad. A continuación se indican las más relevantes.

Enunciado del criterio (Observatorio de Accesibilidad Web)

  • Toda funcionalidad que utiliza un movimiento de arrastre para la operación (por ejemplo, controles deslizantes o interfaces de arrastrar y soltar) se debe poder operar con un único puntero sin necesidad de arrastrar, a menos que el arrastre sea esencial o la funcionalidad esté controlada completamente por el agente de usuario y no modificada por el autor.

Comprensión del criterio

Descripción resumida

Cuando una acción requiere arrastrar, se debe proporcionar una alternativa que permita lograr el mismo resultado mediante activación con un único toque o clic, como botones para mover, seleccionar o ajustar valores.

Objetivo

Garantizar que las personas con dificultades de movimiento fino, temblores, o que utilizan dispositivos de apoyo puedan operar controles normalmente basados en arrastre mediante acciones simples y alternativas accesibles.

Importancia de cumplir el criterio

Los gestos de arrastre requieren precisión y control motriz. Sin alternativas accesibles, estos elementos se vuelven inoperables para usuarios con movilidad reducida, provocando exclusión en tareas críticas como ordenar elementos, mover objetos o ajustar controles.

Referencias WCAG

Recursos de apoyo

NO se presentan

Evaluación del criterio

Tipo de evaluación

Evaluación Manual

Procedimiento de evaluación

  1. Paso 1. Localizar las funcionalidades que requieren un movimiento de arrastre para operar (p. ej., controles deslizantes, interfaces de arrastrar y soltar, reorganización de elementos, etc.).
  2. Paso 2. Intentar realizar la misma operación utilizando un único puntero sin necesidad de arrastrar (por ejemplo, mediante clic/tap, teclado, botones alternativos u otro mecanismo simple de interacción).
  3. Paso 3. Verificar que la funcionalidad es operable sin usar arrastrar, a menos que:
    • a. El movimiento de arrastre sea esencial para la naturaleza de la interacción (p. ej., un juego de dibujo o una herramienta de diseño basada en gestos), o
    • b. La funcionalidad sea completamente controlada por el agente de usuario (navegador o sistema operativo) y no modificada por el autor.
  4. Paso 4. Si no existe alternativa al arrastre y la funcionalidad no es esencial ni está controlada exclusivamente por el agente de usuario, registrar como fallo.

Resultado esperado

Las funciones que utilizan movimiento de arrastre proporcionan una alternativa accesible mediante activación sencilla que no depende de la precisión del movimiento.

Ejemplo

Alternativa a arrastrar con control accesible

<!-- Control deslizante con botones alternativos -->
<input type="range" id="vol" min="0" max="100" value="50">
<button aria-label="Aumentar valor">+</button>
<button aria-label="Disminuir valor">−</button>

Otras herramientas de evaluación

  • Prueba manual: intentar realizar la función normalmente asociada a arrastrar (p. ej., mover un elemento, ajustar un control deslizante, ordenar listas) usando un único clic/toque sin necesidad de arrastrar.
  • Controles alternativos: comprobar que existe un mecanismo alternativo para realizar la acción sin arrastre (p. ej., botones “subir/bajar”, “mover izquierda/derecha”, incremento/decremento, menú contextual).
  • Navegación por teclado: verificar que la funcionalidad es operable con teclado y que no depende exclusivamente del movimiento de arrastre.
  • Inspección del DOM y JS: revisar si los eventos de arrastre (drag, dragstart, pointermove, etc.) cuentan con alternativas en click / keydown o equivalentes accesibles.
  • Pruebas asistivas: probar con lectores de pantalla y dispositivos alternativos para confirmar que la operación puede realizarse sin gestos de arrastre.










Ejemplos accesibles y no accesibles creados por alumnos

Comentarios

A continuación se muestran comentarios sobre el criterio 2.5.7-A. Movimientos de arrastre

Loading comments...