A quick look through online search results show that the indeterminate checkbox state does not seem to be a very common UI interaction, yet Microsoft has persistently stuck with it and are probably the best examples of software applications using the design pattern. There are many alternatives to using a tristate checkbox that have been looked at in other discussions, so my question is whether Microsoft have continued to use it because it is within their UX design guidelines or is it because there are very specific cases where it is actually best to use checkboxes with an indeterminate state? If so, why does this mostly apply to Microsoft products and not other types of software?

enter image description here

2 Answers 2


Indeterminate checkboxes have been sort of a tradition in Microsoft products, mainly for nested checkboxes (symbolically meaning partially checked, or as indicators that a user has acted on a control) and mainly in installers. And as you mention, tri-state checkboxes are also currently part of the Windows Store app guidelines, but they are used on OSX as well.

I think it's more of a form pattern than an application pattern.

I would venture saying that it has to do with tradition on the one side, developers being used to working in a determinate way, plus frameworks with elements that haven't changed in a long time (just look at WPF and XAML, excepting some new Metro-looking components, there hasn't been many revolutionary concepts); and with functionality on the other.

If you go to any Windows file attributes, you will see the same indeterminate checkboxes for Read-Only and Hidden. So it's not just devs that are used to them, it's also (advanced) users.

I'd say that: a) They serve a purpose (marking a nested element as partially checked, in tree views where each node has a checkbox next to it) and b) The price of changing something so rooted in people's minds is quite high, and that's the second reason why tri-state checkboxes are still being used.

I just found a good example: Dropbox. Go to preferences, Advanced tab and click Selective Sync. You'll see the old checkbox tree. Dropbox is cross-platform.

These examples and the fact it's part of the HTML spec, and implemented by the modern browsers on all platforms, suggests that no, it's not strictly a Microsoft-only pattern.

  • My impression is that even though it is a tradition for Microsoft, there is a difference between what developers are familiar with compared to normal users. I would be interested to see more examples of indeterminate checkboxes used in simple applications. Many people don't even realize that it used in the Outlook calendar to manage the different views of user/group calendars.
    – Michael Lai
    Sep 6, 2013 at 4:27
  • Is there actually a reason to use them, other than tradition? You say "they serve a purpose", but it isn't clear what that is.
    – user31143
    Sep 6, 2013 at 4:35
  • @Yisela, I think you need to actually make a case that it serves a useful purpose for this to be a good answer. You do mention what it is used for, but is that actually useful?
    – user31143
    Sep 6, 2013 at 4:47
  • 2
    @dan1111 I've just edited my answer with 'my case'. I'm deleting my comments since the information has been added to it.
    – Yisela
    Sep 6, 2013 at 4:51
  • If you have nested checkboxes/hierarchial data, chances are you are not working on consumer toy applications - you have a quantity of data being operated on. It is appropriate to assume some expertise.
    – Gusdor
    Oct 14, 2013 at 8:43

Other types of software that I've used recently where I've noticed a try-state checkbox has been Omnigraffle.

For example if a stroke is enabled on some elements but not on others and are grouped together; the Inspector shows the stroke check box in an intermediate state.

Here, the try-state check box is a crucial way to help me to quickly understand the different styles of multiple elements.

Your Answer

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

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