What should the action name for an indeterminate checkbox be?

As noted in this blog post, we’re currently working on implementing the accessibility for HTML 5 checkboxes that are indeterminate. An indeterminate checkbox is a checkbox that is neither checked nor unchecked, or half-checked if you will.

The first stage is complete: Firefox 3.2a1pre as of Wednesday’s nightly will expose such indeterminate checkboxes as what we internally call STATE_MIXED. There are still two work items left as far as we can see:

  1. Expose an action name for a checkbox that is in this indeterminate state.
  2. Make sure we fire STATECHANGE events for STATE_MIXED.

For action item 1, I’d like to call out to you guys to offer suggestions on what this action name should be. My initial idea is “toggle”. The reason is that we will never know whether the next state after clicking will be fully checked or fully unchecked. That always depends on the web site’s author to decide. That’s why I first thought of this neutral name.

Anybody got any better ideas, or even a suggestion derived from other such indeterminate, or tristate, checkboxes from operating systems? Post your ideas here or comment on the bug.


5 thoughts on “What should the action name for an indeterminate checkbox be?

  1. Currently in AT-SPI there is a discrepancy. The user has a single gesture to change to the opposite state depending on the current state but the actions define in specific end states (check or unckeck). Is there a good reason for this? If the AT wants to give the user the same experience as the direct user then it must look at the current state and use the correct action to give a similar toggle effect.

    Following that logic you should expose both Check and UnCheck in the indeterminate state and let the AT do all the work. Yuk – how did we get here?

    If there is a good use case for an action that ends in an unknown state as determined by current state and application logic then Toggle might do as you suggest. To my mind toggle indicates change to the other state of 2 states so isn’t right for tri state logic where Cycle, Change, Alter. NextState, might be better suited

    Hey how about

  2. I think toggle is misleading here as well. I’d suggest “partially checked” (this is what Jaws says when it runs into a similar windows control).

  3. @Michael and @Rich: This is not about states (the current state), but the action that performs a change. On most elements, this is the very general action of “click”, and for Firefox/Gecko in general, a checked checkbox exposes an action name of “uncheck”, and an unchecked checkbox exposes an action name of “check”. But since we do not know what the next state of a currently undetermined checkbox will be, the action name must be something meaningful, but general enough so that the next state can be either checked fully, or unchecked. From other comments in the bug and what I got via e-mail, it looks like we’ll call this one “Cycle”.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.