RRigdesign system
Inputs

Slider

Select a value from a continuous or discrete range, with keyboard support.

Examples

70%
45%
20%

States

Rendered states (visual reference; the live example above is the accessible one)
DefaultHoverFocus visiblePressedDisabled
Medium

Anatomy

Slider anatomy
#PartDescriptionPresence
1Track4 / 6 / 8pxRequired
2FillValue portionRequired
3Thumb16 / 20 / 24px, 44px haloRequired
4ValueVisible output next to the labelRequired

Specifications

SizesSmall · Medium · Large
ThemesLight · Dark

Interaction

Keyboard
KeyResult
TabFocuses the thumb
← ↓ → ↑Decrease / increase by one step
Page Down Page UpLarger step
Home EndMinimum / maximum
Pointer and touch
TriggerResponse
Click on trackJumps the thumb
DragMoves continuously
HoverThumb gains a halo

Accessibility

role · slider

1.4.11Non-text Contrast2.1.1Keyboard2.5.7Dragging Movements4.1.2Name, Role, Value
Requirements
RequirementHow Rig meets it
Native input<input type="range"> exposes the slider role and every key above
ValueShow the number; use aria-valuetext for units (45%)
Alternative to draggingKeyboard steps or a paired number input (WCAG 2.5.7)
ContrastTrack and thumb meet 3:1

Read the matching WAI pattern ↗

Usage

Do and don’t
DoDon’t
Show the current valueDo not use for exact values (use Input)
Use steps that match the decisionDo not hide the value inside the thumb only