

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer

Normal checkboxes are easy, they have a checked state, and an unchecked state. But how do you go about indicating a third state for a tri-state checkbox? Is it too difficult for the user to discover and comprehend this additional state?

(Taken from a comment on another question about tri-state checkboxes.)

share|improve this question
up vote 21 down vote accepted

Typically even a tri-state checkbox is still to be treated as a two-state check box in terms of the user's interaction. The user should not be able to switch it between all three states - only between checked and unchecked.

It is only if the information that is related is not in either state that the box is 'displayed' in the tri-state.

What does it even mean for the user to put it into an indeterminate state - it could mean anything in between checked and unchecked. For this reason, tri-states appear complicated because they combine both state and feedback about the current state.

The indeterminate state means the information has to found elsewhere - usually in a tree-like hierarchy below it.

The advantage is that it is compact, and fits in a tree like structure of nodes where all other nodes might have a checkbox. So it becomes visually not so neat to have a different control which fits in to the scheme, especially since (as above) in terms of the user interaction it needs to behave exactly like a two-state checkbox.

So in the right context, the tri-state does a pretty good job - but I would say generally they are commonly found in more technical situations anyway - installers for example - but does the average user install the sort of application that has these options - probably not. Thus for the average user, it's an uncommon control.

What would definitely be wrong, I think is to have a tri-state, where the user can in fact switch between all three states - to literally choose between three different states of something. That frankly would be too awkward and not to mention a bit weird.

The solution I feel would be to always use a three way radio button (which if iconic & connected, can still be very compact) or a simple dropdown that users will be totally familiar with.

share|improve this answer
+1 Great in depth answer. – Matt Rockwell Jul 21 '11 at 14:09
I've seen tri-state checkboxes where it will e.g. "remember" the mixed state of the sub-items from before you clicked it to on or off state, and let you switch back to the indeterminate state - so you can undo an accidental click on it. What's wrong about that? – Random832 Jul 21 '11 at 18:13
Holy moly - really - where? – Roger Attrill Jul 21 '11 at 18:18
@Roger - select multiple files in Windows Explorer that have different read-only states. Right click and choose Properties. It will have the third state showing for the "Read Only" option and will let you click between all three states. – Charles Boyung Jul 21 '11 at 19:01
Oh yes - well I never! Well I'm more comfortable just clicking cancel I think. My above comments stands: it's wrong, awkward and a bit weird :-) – Roger Attrill Jul 21 '11 at 19:13

The user can't reach the third indeterminate state directly when clicking on a check box. It's usually a state for items that have sub items. So in Windows you'll see this on a folder when some files are read only and some aren't. Clicking will convert all the files to one state or the other so you'll always be moving away from it.

As far as indication goes you could use a "-", a "?" or anything that's clearly not your checked state (tick, cross), especially if your unchecked state is an empty box.

share|improve this answer

Not necessarily.

You can use dropdown (with yes, no, n/a) instead of them.

In some cases (professional software) tri-state checkboxes are cleaner. (Especially when the default setting is unset.)

share|improve this answer

Your Answer


