I'm ultimately asking a theoretical question: what is the best experience, in general, for gathering optional responses using controls with mandatory input?
Consider specifically radio button groups. An initial selection from the group is not required, but as soon as the user makes a choice, the user cannot go back to that initial state -- there is no way to "unselect" a radio if he changes his mind. (Eg, an optional question has Yes, No, or Maybe answers -- none of those are chosen initially -- I choose Yes, but decide I want to go back to "no answer" -- I cannot, because radio buttons do not work that way.)
Now consider single-choice drop-downs. They require an initial selection, so designers end up inserting a synthetic blank value to mean "optional". Unlike radio, the user can change his mind and go back to the optional state via the synthetic blank.
This state of affairs unsettles me. Radio should be uncheckable to go back to the optional state, and drop-down shouldn't need a synthetic value to indicate optionality. But such as it is, so I see these common implementations:
- an optional radio button group with no default (there is no _common_ way to go back to the default state once you choose one, so this is a flawed approach)
Optional: The question is... ( ) Choice A ( ) Choice B ( ) Choice C ( ) N/A
- a required radio button group with the 5th "optional" choice selected
Required: The question is... ( ) Choice A ( ) Choice B ( ) Choice C ( ) N/A (*) Don't know, or I will come back later and answer
- a required drop-down with all listed options plus a blank one indicating the "optional" choice
Required: The question is... [___________ v] | | | Choice A | | ........ | | Choice Z | | N/A | +-------------+
All that said, here are some specific questions:
- Considering the disadvantage to 1 (there is no common UX to un-toggle the radio back to the "non answer" state if you change your mind after toggling one of the listed states), is there any advantage to implementation 1?
- Are there other implementations than these that afford better usability? Eg this one, where the user is required to stipulate whether he wants to answer now or later, and if now, then is required to choose one of the values:
The question is... ----------------------------------------+ (*) My answer is ( ) Choice A | ------------------------+ ( ) Choice B | ( ) I will answer later | ( ) Choice C | | ( ) N/A | +---------------+
- Is it more usable for implementation 3 to explicitly list the "optional" choice and select by default, or leave as a blank entry (as is common experience)?