I'm building a quiz-type web application in which the user must answer a series of multiple-choice questions. I need to decide whether to use radio buttons or checkboxes.
I'm familiar with the standard conventions for radio buttons and checkboxes:
Radio buttons are used when there is a list of two or more options that are mutually exclusive and the user must select exactly one choice. In other words, clicking a non-selected radio button will deselect whatever other button was previously selected in the list.
Checkboxes are used when there are lists of options and the user may select any number of choices, including zero, one, or several. In other words, each checkbox is independent of all other checkboxes in the list, so checking one box doesn't uncheck the others.
However, in my particular application - the user may choose only one option, or make no choice at all (i.e., they may not choose more than one). In other words - it's perfectly OK for users to skip any question that she thinks isn't relevant.
A relevant detail - ALL the questions are visible at once on a single, scrolling page (i.e., there is not "Next" or "Skip" buttons. The user will scroll down, answering the questions that are relevant to her, and skipping those that are not.
So - I can think of three options:
Use radio buttons, and include an extra choice for each question labelled "No choice", "Not relevant", or something like that.
The big problem with option #1 is that it adds a lot of clutter and unnecessary cruft, and it makes the list less scannable (i.e., it's harder to see which questions you haven't answered). It also makes it seem like skipping the question altogether isn't OK, even though it is.
The big problem with option #2 is that it misleadingly suggests that you may choose more than one option.
The big problem with option #3 is that it involves a hidden behavior (e.g., clicking a selected radio button to deselect it).
This must be a fairly common requirement, so I'm wondering what the best practice is.