Range

.kbd-slider

A native <input type="range"> with a gradient fill, value bubble, and focus throb.

Master volume 72%
Warmth +2.4
Growth rate 3.6ร—
Rotary

.kbd-knob

Drag vertically, scroll, or use arrow keys / Home / End. The arc fills as you turn.

Cyan โ†’ Violet
Green theme
Amber ยท 76px
Number

.kbd-stepper

A number input with โˆ’/+ buttons. Type a value, click, or arrow up/down. Min/max disable the ends.

Quantity
value: 4
Opacity
value: 80%
Gain
value: 0.0 dB
Bound together

One value, three controls

A slider, a knob, and a stepper sharing data-kbd-name="bpm". Move any one and the others follow โ€” no page JS required, the shared layer handles the round-trip.

Tempo (slider) 120 BPM
Tempo (stepper)

Try keyboard too: tab to the knob and press Home / End / arrows.

Tempo (knob)

โฌก Built for accessibility & performance

  • Every control is keyboard-operable: arrows, Home/End, PageUp/Down, type-to-set.
  • Proper ARIA: knobs are role="slider" with live aria-valuetext.
  • :focus-visible rings; no focus ring on mouse clicks.
  • Honors prefers-reduced-motion โ€” no throb, sheen, or tweens.
  • Themeable from each page's palette via --grad / --cyan / --accent.
  • Zero-build, no framework, progressive-enhancement โ€” markup works without JS.

Shared layer: /assets/kbd-controls.css + /assets/kbd-controls.js ยท Kudbee home