I am working on an application that always uses red font for required fields and black font for optional fields. In the past, the fields are textboxes or drop-down-boxes. I'm introducing a checkbox (Boolean) field for the first time.

I'm unsure whether this field should be in red or black font. Technically, the field is required in the database. Should I still mark this field as required, even though the user has no choice but to select some value (unchecked or checked)? I should note the value of this checkbox is very important - but that is not really what red font is designed to indicate.

Edit: I wanted to add a bit more background. The checkbox is on a Create User form. If the checkbox is checked when a user is created, the user will basically be created as "super user". A NULL value wouldn't make sense because the user either is or is not a super user. I thought a checkbox with a default of unchecked would be the best choice.

  • 2
    If it's extremely important that the user explicitly answers that question, I wouldn't use a checkbox—accidentally skipping a checkbox would translate to false. If, however, you use a set of radio buttons or a dropdown, the default state is invalid, and you can prevent the user from continuing without answering. – maxathousand Oct 25 '17 at 18:17
  • 1
    Do a Google search for LukeW. He has many videos and other resources on form best practices. It will increase your understanding of when to use which form elements. – Martyn Oct 31 '17 at 16:27

You're overthinking it. If a checkbox is required, I'd assume I'm required to check it. So, in your case, where it's ok to be checked or unchecked, it's not required. The user can take no action on it. Set it in black.


If it is important that it is reflected upon, where an explicit choice is being made between two options, I don't think you can use a checkbox.

Here are two common ways to force a choice making (from study at researchaccess):

enter image description here

Your question does not reveal whether it is important that there is a True or False value instead of a null value, or if it instead is important that a conscious choice is made between the True and the False value.

If you are keeping it as a checkbox, you cannot make it required, as then you might as well make it prechecked and disabled for changes. :)

The only use case I can think of is "Yes I have read the User Agreement" required to be checked to continue for example an installation process, and I guess that is not what you are after.

  • ...as then you might as well make it prechecked and disabled for changes...—Unless there's a business/legal reason for it. I worked for a company where we had to record that a user acknowledged a message by checking a box. But +1 anyways; I said pretty much the same thing in my comment right when you answered. – maxathousand Oct 25 '17 at 18:20
  • 1
    And I updated and added the last sentence about pretty much the same thing right when you commented :) – JOG Oct 25 '17 at 18:22
  • 1
    @KyleWilliamson The problem is the form control, not necessarily the text color. Dropdowns with a default selection and unpopulated radio buttons require thought and input-- a checkbox does not. As a side note, for accessibility reasons you should never use color alone to indicate information, including whether or not a field is required. Be sure to include some other sort of visual indicator (such as an asterisk) to afford for colorblind/low visibility users. For this design, use a dropdown or clean radio button list with red text and a different visual indicator on this field. – denveruxer Oct 25 '17 at 22:47
  • 1
    Hiding 2 possible options behind a dropdown? Why would anyone do stuff like this? – Pectoralis Major Oct 26 '17 at 6:50
  • 1
    KyleWilliamson That sounds like the right choice now. @PectoralisMajor Because [see everything above] ;) Feel free to contribute with an answer of your choice. – JOG Oct 26 '17 at 11:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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