I'm designing a generic survey engine and I've ran into some UI design related difficulties.
I've decided that all survey elements that support multiple choices will invariably use combobox control. I think this is a good practice and Microsoft design guidelines promote this practice as well.
However, I don't want to use comboboxes for Yes/No choices. These also need to support indeterminate state if the user doesn't select anything. My first choice was using two radio buttons which would read "Yes" and "No", but the problem with radio buttons is that they can't be deselected once selected (unless I break design guidelines and make radio buttons uncheck themselves upon another click). Alternatively, I could present the third option which would read "Unknown" or better yet, a small button which would remove any selection.
The problem with using checkboxes is the way they handle indeterminate state. Most end users who will be using this software won't be very computer savvy and I don't expect them to realize that the small square in checkboxes representing indeterminate state DOES NOT in fact mean that the selection is positive. Check mark and square are probably the same to many users.
To summarize:
For YES/NO/NOT SELECTED types of items, should I use:
- Radio button with three choices reading "Yes", "No", "Unknown".
- Radio buttons which can be deselected by clicking.
- Radio buttons which can be deselected by clicking a small X button
- Checkboxes and hope that users will realize what indeterminate state is
Thanks
UPDATE:
Alright, thanks to everyone who participated.
I've opted for option #3 (Radio buttons which can be deselected by clicking a small X button), except that I use linkbuttons instead of buttons. I also provide a tooltip on the linkbutton in case the user isn't aware of its meaning.
It looks like this:
I'm pretty happy with this. Thanks again.