Product Craft Bible
Range Slider
Inicio Formularios e Inputs Range Slider
Formularios e Inputs

Range Slider

8 reglas Baymard Institute "Slider Interfaces" · USWDS Range Slider · Nielsen Norman Group "Sliders, Knobs, and Matrices"Baymard Institute "Slider Interfaces" · Nielsen Norman Group "Sliders, Knobs, and Matrices"Baymard Institute "Slider Interfaces" (18 sitios testeados) · Smashing Magazine "Designing The Perfect Slider"WCAG 2.5.5 Target Size (Enhanced, AAA) · WCAG 2.5.8 Target Size (Minimum, AA) · Material Design 3 Sliders
45

Range Slider

8 reglas
419

Slider para valores aproximados; input numérico cuando se necesita precisión

El slider es un control de exploración, no de precisión. Cuando el usuario tiene un valor exacto en mente (por ejemplo "quiero exactamente $1,450") un campo de texto es más rápido y menos frustrante que buscar el píxel donde el handle coincide con ese número. El slider brilla cuando el usuario quiere explorar un rango sin un número fijo en la cabeza: ajustar volumen, filtrar precios de forma aproximada, acotar fechas. La regla de oro: si el usuario podría teclear el valor en menos tiempo del que le toma arrastrarlo, usa input. USWDS y NN/G coinciden en que el rango y el valor relativo deben importar más que la exactitud para justificar un slider.

Baymard Institute "Slider Interfaces" · USWDS Range Slider · Nielsen Norman Group "Sliders, Knobs, and Matrices"
Preferir
Rango de precio
El usuario arrastra para acotar ~$200 – $600
sin un número exacto en mente
Evitar
Monto a transferir
Necesita exactamente $3,247.00,
imposible de acertar arrastrando
420

El dual-handle siempre acompañado de inputs numéricos editables

Baymard es categórico: los sliders que controlan valores numéricos de filtrado deben ir siempre acompañados de campos de texto que actúen como fallback. El usuario explora con el slider y afina con el input, y el input también es la única vía para llegar a un valor exacto cuando el slider no lo permite. La combinación slider + input es el único patrón que satisface a la vez exploración y precisión: el slider para ajuste grueso, el campo de texto para control fino. Los dos inputs deben reflejar en tiempo real lo que se arrastra y permitir edición directa que mueva los handles.

Baymard Institute "Slider Interfaces" · Nielsen Norman Group "Sliders, Knobs, and Matrices"
Preferir
Rango de precio
Mín
$200
Máx
$800
Evitar
Rango de precio
$0 $1,000
Sin valor editable ni exacto
421

Más del 50% malinterpreta el dual-handle; refuerza el affordance de rango

En las pruebas de usabilidad de Baymard (18 sitios de e-commerce), más de la mitad de los sujetos malinterpretaron los dual-point range sliders, operándolos como si fueran un slider de un solo valor: movían el handle equivocado o creían que solo seleccionaban un máximo. Un participante textual: "Minimum?! No. Argh, this is freaking difficult." La solución no es asumir que la convención es conocida sino explicitarla: resaltar con color el track entre los dos handles, diferenciar visualmente cada handle, y añadir una etiqueta clara como "Mín $200 – Máx $800". Smashing recomienda flechas en los handles para reforzar que cada uno se mueve independientemente.

Baymard Institute "Slider Interfaces" (18 sitios testeados) · Smashing Magazine "Designing The Perfect Slider"
Preferir
Mín $200 – Máx $800
Evitar
"Minimum?! No. Argh, this is freaking difficult."
422

Hit target del handle: 24×24 px mínimo (WCAG 2.5.8), apunta a 44×44 px

El handle visual de un slider puede ser pequeño (16–20 px de diámetro) pero su área interactiva real, incluyendo padding invisible, debe cumplir los umbrales WCAG. El criterio 2.5.8 Target Size (Minimum, AA, obligatorio desde WCAG 2.2) exige 24×24 CSS px; el 2.5.5 Target Size (Enhanced, AAA) eleva el mínimo a 44×44 CSS px. Material Design 3 recomienda 48 dp para el thumb en Android. La técnica práctica es agregar un pseudo-elemento invisible o padding alrededor del handle para alcanzar el área táctil objetivo sin alterar el tamaño visual del thumb. Un handle de 12 px sin expansión es imposible de usar con el pulgar o con temblor en las manos.

WCAG 2.5.5 Target Size (Enhanced, AAA) · WCAG 2.5.8 Target Size (Minimum, AA) · Material Design 3 Sliders
Preferir
Área táctil 44 × 44 px (AAA)
Evitar
Área táctil 12 × 12 px (falla AA)
423

Cada handle: role=slider con aria-valuenow, valuemin, valuemax y valuetext

Un range slider dual accesible no es un solo widget sino dos elementos focusables independientes, cada uno con role="slider". El patrón Multi-Thumb de WAI-ARIA APG exige que cada thumb declare aria-valuenow (valor actual), aria-valuemin y aria-valuemax (rango permitido), más una etiqueta vía aria-label. Cuando el valor no es intuitivo numéricamente (fechas, tallas, monedas) aria-valuetext aporta la cadena legible ("$120" en vez de "120"). Para handles dependientes, donde el mínimo del handle máximo es el valor del handle mínimo, el aria-valuemin y aria-valuemax de los sliders dependientes deben actualizarse al cambiar el otro. Omitir cualquier atributo vuelve el control opaco para lectores de pantalla.

WAI-ARIA APG Slider (Multi-Thumb) Pattern · MDN aria-valuenow
Preferir
Handle mínimo accesible
<div
  role="slider"
  aria-label="Precio mínimo"
  aria-valuemin="0"
  aria-valuemax="800"
  aria-valuenow="120"
  aria-valuetext="$120"
  tabindex="0"
></div>
Evitar
Handle opaco para lectores de pantalla
<div
  class="slider-handle"
  style="left: 15%"
></div>

// Sin role, sin aria-valuenow,
// sin min/max: el lector de
// pantalla no anuncia nada.
424

Soporta el teclado completo del APG: flechas, Home/End, PageUp/PageDown

Un slider que solo responde a clic y arrastre es inaccesible para usuarios de teclado. El patrón Slider de WAI-ARIA APG define el modelo de interacción completo: las flechas Arriba/Derecha aumentan un paso, Abajo/Izquierda lo disminuyen; Home y End saltan al primer y último valor permitidos; PageUp y PageDown (opcionales pero muy recomendados) hacen saltos grandes para rangos amplios. En dual-handle, Tab y Shift+Tab mueven el foco entre los dos handles, y el orden de tabulación permanece constante independientemente de la posición visual de cada handle dentro del slider. Implementar solo mousedown/touchstart bloquea por completo al usuario de teclado.

WAI-ARIA APG Slider Pattern · WAI-ARIA APG Slider (Multi-Thumb) Pattern
Preferir
TeclaAcción en el handle enfocado
Aumenta el valor un paso
Disminuye el valor un paso
HomeSalta al primer valor permitido del rango
EndSalta al último valor permitido del rango
Page UpSalto grande hacia arriba (opcional, recomendado)
Page DownSalto grande hacia abajo (opcional, recomendado)
Tab ⇧ TabMueve el foco entre los dos handles (orden constante)
Evitar
Sin tabindex ni handlers de teclado
425

Stepped slider: ticks legibles y valor visible en tiempo real durante el arrastre

Un slider stepped sin ticks visibles es un slider continuo disfrazado: el usuario no sabe en qué valores puede detenerse. Los ticks deben aparecer bajo el track, con etiquetas solo en los valores clave (no en cada paso si son muchos) para que no se solapen en mobile. Smashing recomienda espaciar los ticks críticos al menos 65 px en todas las anchuras de pantalla, lo que permite acomodar unos 5 ticks legibles en los 400 px típicos de móvil; USWDS sugiere step="10" en un rango 0–100 para evitar precisión excesiva. Por encima del handle, o en un tooltip flotante, el valor actual debe actualizarse sin latencia perceptible durante el arrastre, nunca esperar al mouseup para revelarlo.

Smashing Magazine "Designing The Perfect Slider" · USWDS Range Slider
Preferir
35
0255075100
Evitar
21 ticks ilegibles · valor oculto hasta soltar
426

Distribución no lineal: usa histograma o escala logarítmica, no lineal

Cuando los valores se concentran en una fracción del rango, una escala lineal convierte gran parte del track en zona vacía. Baymard documentó que en sliders lineales el 50% del ancho llega a controlar apenas 2–5% de los productos disponibles, mientras un 5% del track abarca el 50% restante: el usuario arrastra centímetros para moverse $10, o no puede acertar el píxel exacto entre dos valores. La solución es una escala logarítmica, un histogram slider que muestra la distribución real de ítems (patrón de Airbnb), o una escala basada en inventario que divide los productos en intervalos de igual conteo. En cualquier caso, el rango mostrado en los inputs numéricos siempre debe reflejar valores reales, no posiciones de píxel.

Baymard Institute "Slider Interfaces" · Smashing Magazine "Designing The Perfect Slider" · Nielsen Norman Group "Sliders, Knobs, and Matrices"
Preferir
$50$500$5k
Evitar
$0$5,000$10,000
~90% del track casi sin productos