Problem

You may also have several related options, amongst which the user can select zero or more.

Context

You are designing a form.

Forces: factors that affect selection

Radio buttons and dropdown menus are too verbose for a binary choice

Dropdown menus hide the other choice

Solution

Create a checkbox with an id attribute. Add a label for the checkbox after the checkbox (in left-to-right languages, on the right of the checkbox). As the text content of the label element, write the result of checking the box:

[] Show me the money

Moodle forms have a left column for the descriptions of the elements in forms, and a right column for the element itself. Checkboxes should have a easy-to-scan short caption on the left column, so that items are easy to find. Both the checkbox and the actual label of the checkbox on its right side should describe the exact meaning. If there are several related options, group them under the same caption.

Money display: [] Show me the money
[] Only show big money

Determine a reasonable default for the value: checked, or unchecked. the reasonable default should be such that if a user does not notice the option, they probably do not mind leaving it to default. If no reasonable default can be determined, you may want to consider highlighting the checkbox in the form it is in, since it is impossible to make a checkbox a required field per se.

(Another use of the checkbox is to require users to always check a checkbox, i.e. "[ ] I have read and I accept the terms and conditions", but in this case it is not really an option at all.)

A special case: Sometimes you may want users to be capable of selecting multiple items in a set, but limit the number of items (a kind of a mix between radio buttons and checkboxes). HTML does not support this limitation directly, but it has to be scripted either in Javascript or server side, in PHP.

Common mistakes

Do not express the option label as a question: "Do you want to see the money?"

Do not invert the option to negative voice: "Don't show me the money". Most times, only positive voice should be used.

Do not use radio buttons or dropdowns when there are only two choices.

Never use single select boxes for selection of multiple items (which require user to ctrl/shift click items, to select multiple). Instead always use checkboxes.