oklch-pickerPlaygroundGitHub

Accessibility

Built on native <input type="range">, so keyboard, touch, and screen-reader support come from the platform rather than from re-implementations of it.

What that gives you

Try it below: tab to a slider and use the arrow keys. Nothing here depends on a pointer.

Tab into the sliders and drive them from the keyboard.

Charts are decoration

The gamut plots are aria-hidden. They are a visual aid, and the sliders reach everything a chart can, including the out-of-gamut regions the hatching marks, which the notice also states in words.

In the compact layout the visible labels shrink to single letters, but the accessible names stay full: a screen reader hears "Lightness", not "L".

Compact: single-letter labels, full accessible names.

Translating it

The axis names and the out-of-gamut notices come from labels, so the picker speaks whatever your app speaks. The keys are the three axes (l, c, h), plusoutOfGamut and a per-spaceoutOf:<gamut id>.

The same picker with Dutch labels.