A selected option cannot be cleared to empty
Aliases: sticky radio · cannot uncheck · no empty-by-reclick
What it is
Once a radio group has a selected option, clicking that same option does not bounce it back to “nothing chosen.” Cannot deselect to empty is the pointer difference from a checkbox: a checkbox turns off on a second click; a radio can only move the value to another item. People arriving from checkbox habits hammer the selected item hoping to clear it; if the UI neither switches nor acknowledges, they assume the click was dropped.
This is not a defect. It is the operational corollary of a mutex: empty is not a state the control can walk into. If empty is a legal answer, offer a named empty option rather than teaching the selected item to clear itself.
Why it happens
A radio stores the current value on the group, not on the item. A click writes that group-level value; a second click on the same item writes the same value, so nothing changes. A checkbox stores the value on the item, so a second click negates. The write sites differ while the gesture looks identical, which is why transfer errors cluster on “I want this empty.”
Platform widgets almost never treat a second click as clear. A custom control that secretly allows it fights native radios on the same page: some groups peel off, some do not, and prediction collapses. When clearing fails, people hunt for an out-of-group reset, or they treat the selected item as a broken button.
Where it stops holding
An explicit “none” or “not now” looks like clearing but is a move to a named value; the group is still non-empty. Arrow keys move selection inside the group and likewise never reach empty; focus can leave, the value stays. Keeping the group empty until the first click does not contradict “cannot clear after selection” — empty exists only before the first write. A custom list that selects on click and cancels on a second click is already not a radio; drop the dots and use a cancellable model so the glyph does not promise a value that cannot be peeled off.
Applying it
- Keep the platform default: a second click on the selected radio does nothing; only another item may take the value.
- Do not invent second-click-to-clear on some radio groups; mixed with native widgets, prediction dies.
- When someone is clearly hammering the selected item, a short line can tell them to pick another item, or point at the option named “none.”
- How to check: have someone pick one item, then ask them to return to nothing selected. If they can only refresh the page, a clear path was never designed; if a second click actually clears, the control has stopped being a radio.