Large-range values must allow direct typing
Aliases: typeable spinner · locked spin button · numeric field
What it is
When the legal span runs from tens into thousands, or the target sits far from the current value, people need to write the number as a string in one go. Direct numeric entry means the figure in the middle is a real field: focusable, selectable, pastable, clearable. Plus/minus only, with an unclickable figure, locks a long-range task onto linear approach. The issue is reaching across distance, not whether a stepper is good at nudging, and not how far one click should travel.
Why it happens
Constructing a known number (“I want 365,” “I want 12800”) is already done in working memory; the cheapest externalization is the keyboard. A stepper asks that completed state to be unpacked as a difference from the current value, then executed that many clicks, watching for overshoot. The larger the span, the worse the unpacking. Locking the middle box is often “so people don’t type illegal characters”; what actually happens is that legal large numbers cannot arrive either. Pasting a figure from a calculator, a spreadsheet, or another document also uses the typing channel; forbidding typing forbids those sources.
Where it stops holding
Hardware knobs and gamepad notches have no keyboard; direct entry does not exist, and other acceleration (hold, a second gear) must stand in. Age or rating scales with a handful of notches should reject a typed “11” with a stated ceiling, not lock the box. On mobile, typing is cheap only when a numeric keypad appears; a full text keyboard spends the advantage on hunting digits. Screen-reader users treat the middle as an ordinary edit field; locking it removes their main path.
Applying it
- Make the stepper’s middle value editable: click to focus, select all, paste, type on a numeric keypad.
- Validate range after the write; on illegal input keep the string just typed and state the legal span rather than silently reverting.
- For large numbers, treat typing as the primary path and plus/minus as a nudge after arrival.
- Verify by setting the current value to 1 and the target to a business-typical large number (days in a year, money, stock). Arrival by buttons only is a fail; typing should land in one shot, and paste should too.