23

I have a quiz creation form, in which an admin is required to fill the quiz name, details, number of maximum attempts and similar admin level configuration items.
The admin should configure if the quiz can be reattempted even if the a candidate had passed in the previous attempt. So I used a checkbox here. The confusion is; is there any standard rule for default state of checkboxes in forms?

The image shows the 2 possible options that I could have in the form. enter image description here
Please advice which is the correct representation, with respect to any documented standards.

5
  • 1
    Note that you changed checkbox labels in your examples. See how you needed to negate your statement in order not to check the checkbox. Jan 25, 2018 at 11:07
  • 2
    If properly negated, then only option 1&2 have the same meaning.
    – Kishan
    Jan 25, 2018 at 12:38
  • Your options seem to be mutually exclusive. It's not fully in line with your question but when you have mutually exclusive options then one should use RadioButtons instead. Also both options could be changed into a single option: always allow reattempts [yes|no].
    – BlueWizard
    Jan 25, 2018 at 22:39
  • 3
    @BlueWizard Those are the two options he wants to choose between, they won't both be on the form at once. Jan 26, 2018 at 2:14
  • 3
    While you can always rephrase a checkbox label so that the default corresponds to one of the two states, you definitely shouldn't. No general rule about UI widget states can trump the fundamental rule that your users must understand what they are saying. Always choose the simpler, more intellegible phrasing, then decide about the state of the checkbox based on that. Jan 26, 2018 at 7:36

4 Answers 4

25

Pre selection of checkboxes

Successful pre-selections can make interface more efficient and pleasurable to use. Sane default selections can reduce the amount of actions a user needs to perform.

Whether or not a checkbox should be preselected should be based on the domain context and business rules. Business rules will dictate whether something should be opt-in or opt-out. Preselect according to the principles of least annoyance. A user should spend as little time as possible opting out of things that they don't want.

However, I think the core of your problem is not about pre-selection but rather how a checkbox should be labelled.

Labelling checkboxes

The label for a checkbox should be affirmative because checkboxes are used to enable an action or state. Checked should represent yes (do the action/enable the state) with unchecked representing no.

If a checkbox label forces the user to decipher a double negative you've made a mistake. Users prefer yes do this rather than yes, don't do that. For example [ ] Subscribe is clearer than [x] Don't subscribe and much clearer than [ ] I don't want to receive updates.

Aim for brevity in your labels, the label should convey the action in the most concise way possible. The shorter and clearer your labels are the less time the user must spend reading and interpreting them.

Your Problem

The interface allows the admin to

configure if the quiz can be reattempted even if the a candidate had passed in the previous attempt

The domain rules

  • A student can be offered reattempts
  • There may be a maximum amount of reattempts offered
  • A passing attempt may be considered final

Labelling the checkbox

I would label your checkbox with a variation of [x] allow repeat after passed attempt. The label is clear, if you check the box repeats are available to students that have passed. Your business rules will state whether it's more common to allow students to try again after a successful attempt.

How I would do it

I would have a [x] allow reattempts check box that enables a slider/stepper/text-box control to set the number of repeats and the checkbox to enable repeats after a pass.

[x] allow reattempts

number of reattempts [-][ 5 ][+]
[x] allow repeat after passed attempt

Alternatively, the number of reattempts may disable the allow repeat after pass control when the number of reattempts is set to 0 and enable it otherwise.

5
  • Thank you for the precise answer. But one question still persists: both my options are not double negatives.. so a selection between them is not easy.. so in that case, look from a business reqmnt. Is that correct? anything to add here?
    – Kishan
    Jan 26, 2018 at 7:58
  • 4
    +1 for mentioning positive labels. To me, "failed" is a negative, and "passed" is positive. So I'd go with "Allow user to retake after passing", and setting the default to checked or unchecked depending upon what the business wants to happen if the person setting it up is in a rush and gets interrupted and forgets to even consider what the setting should be. Jan 26, 2018 at 15:00
  • @Kishan I'd put it as Guy said, "Allow user to retake after passing". The best way to really know what makes the most sense to your users is to ask them. A little testing can go a long way. Jan 26, 2018 at 17:56
  • 1
    After a lot of thought, I think this answers the question. Maximum upvoted answer may not be the most correct answer.
    – Kishan
    Jan 26, 2018 at 18:08
  • 1
    @Kishan Good choice; IMO this is the only answer so far that addresses the actual example in the question, rather than simply responding to the title of the question. Jan 26, 2018 at 18:52
50

That depends on the context.

A checkbox that makes the user accept terms of agreement for example should be unchecked since its a critical decision which needs the users interaction to be legally okay.

On non-critical checkboxes you can pre-select them according to what most users want/need. If 80% of your users hit the checkbox you can pre-select that checkbox in the future to make it easier for them.

16
  • 1
    I totally understand your point. Thank you. But one question is that, is there any documented or generalized theory behind this?
    – Kishan
    Jan 25, 2018 at 10:06
  • 2
    I couldn't find a generale "rule" for this, if you are unsure i recommend to not preselect the checkbox(es) because the frustration users would suffer if they continue without noticing is far bigger then when they just need to hit the checkbox(es). Jan 25, 2018 at 10:09
  • 2
    Okay. so in my question, Option 2 would be better in your POV. right?
    – Kishan
    Jan 25, 2018 at 10:11
  • 18
    Legally, you are required to make anything involving consent and (binding) transactions ("yes, I allow you to do X") a conscious decision. People have to tap the box themselves. For email and agreeing to terms you are no longer allowed to make it an auto opt-in. For settings and other non-binding stuff you can make pre-selections. Generally those are more like preferences than things you agree to. If you're in Europe or making things for a European audience, you'll need to keep this in mind because they'll start to fine people once GDPR is active. Jan 25, 2018 at 12:05
  • 1
    @O.R.Mapper Meh, I disagree. I would argue that the user expectation of radio buttons is that one of the set is selected at any time, so anything that violates that expectation, such as allowing them all to be unchecked, is poor UX. For instance, the user may be surprised to be given an error that "no selection was made", or they may not discover that clicking an option twice allows them to select "no option". While it would arguably be useful if there was a conventional representation for "zero or one of this set", I don't think radio buttons are that conventional representation.
    – IMSoP
    Jan 25, 2018 at 14:32
14

I'd like to suggest a 3rd solution which avoids the need for figuring out an appropriate default value altogether.

In this case, I would actually not use a checkbox, because you can have multiple values here and not really a clear default value. In addition, you can technically have 3 options here, and a checkbox isn't adequate in that scenario:

  • Never allow reattempts (like on an exam);
  • Only allow reattempt if previous attempt failed (like on a competition where one quiz needs to be successfully completed before the next can be started);
  • Always allow reattempt (like on a quiz for fun).

I would personally use a dropdown, or a list of radio buttons:

mockup

download bmml source – Wireframes created with Balsamiq Mockups

6
  • "Never allow reattempts (like on an exam)" This is not in the scene in my business scenario, because, in the form, there is a field "Number of reattempts" therefore if it is 0 then it means 'Never allow reattempts'
    – Kishan
    Jan 25, 2018 at 10:30
  • 13
    Hiding three options behind a dropdown is nightmare. Also the question if preselecting is a good or bad idea still stands with radio buttons. Jan 25, 2018 at 10:30
  • 1
    @PectoralisMajor: Wait, what else do you expect in a dropdown than ... options to pick from? Jan 25, 2018 at 12:21
  • 3
    I like the essence of this idea, because it can more easily be used to force the user to make a decision, which may be preferable to having either option the default. @KishanPankaj You could remove the "Never" option, or ensure the "Number of attempts" field is afrer this drop-down (and probably disabled if the user hasn't selected to allow reattempts).
    – TripeHound
    Jan 25, 2018 at 12:35
  • 2
    @O.R.Mapper Mapper Dropdowns are a valid option when you have like 7 Options +, there is absolutely no need to hide 3 options behind a dropdown which need to make the user click just to get exposed to those options. Jan 25, 2018 at 12:41
1

Pre-selected defaults in checkboxes officially make it easier for people who cannot or don't want to spend time on filling out forms and checking boxes, but it goes without saying that this can easily be abused to force certain options on unwitting users.

So while it will force users to devote some attention to these annoying technicalities, it might in the end be in the better interests of users to make them check those checkboxes first.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.