I work for a company that designs financial management software, and I've been asked to provide some redesigns for an expense rule builder. It allows users with admin privileges to set limits on the total amount a department/team can spend in a given period.

Existing design

A user has a form with a series of number fields, each representing a different business expense category, i.e., travel, accommodation, entertainment, etc.

enter image description here

A user enters a value in a number field, which sets the total expense limit for that specific category.

![enter image description here

Users also have the option to determine whether specific subtypes should count towards the expense total. For instance, trips made via train shouldn't count towards travel expenses, etc. They can achieve this by selecting the appropriate toggle:

enter image description here

The problem is that these toggles are only visible when a user enters a value in the number field. enter image description here This has led to our clients expressing their confusion, as they feel it could be more intuitive.

New design

I proposed the following:

  1. Replacing the toggles with checkboxes that are always visible.
  2. Disabling the checkboxes until the user enters a value in the number field.

enter image description here As they weren't 100% sold on this, I was wondering if there are any alternatives that I could propose to senior management?

1 Answer 1


The alternative is to use neither hiding nor disabling of the check boxes. Just leave the check boxes fully visible and enabled. The first rule of disabling or hiding is don’t. Don’t force the user in a mode or dictate the order in which they must provide input. Don’t add complexity the user has to recognize and understand. Ideally, only use disabling (and, less often, hiding) if an action is logically impossible to complete. Not just unnecessary. Not just nonsensical. Not just ill-advised. Impossible. Let the user do what they want to do when they want to do it. I’d really be surprise if anyone were confused by the text box being blank while they are able to select the check boxes. I can even imagine an edge case where that would be a sensible thing to do: what if there were no category limit to apply to any of the subcategories?

Frankly, the more interesting problem is why client thinks it’s intuitive to hide the switches. Ask them. What scenario are they imaging? There is hidden use case or requirement there that needs to be teased out, and I bet it has nothing to do with things being hidden, but more to do with the underlying data model and business definitions. Unless it’s clueless senior management who want to hide things, rather than the actual users. In that case, they may simply be wrong and you may have to video usability tests to convince them the simple non-hiding non-disabling design yields no confusion.

As for whether it should be switches or check boxes, you are correct that check boxes are more appropriate, but they’re probably the wrong control too. Switches and check boxes should only be used when the negative value is self-evident, but I don’t think it is here. Checking the box means the subcategory applies to the category limit. But what does unchecking mean? Does it mean employees can expense as much as they want to subcategory? Or does it mean that that employee can’t expense any amount in that subcategory? Or does it count against some other limit? I don’t know and I bet some users don’t either. Maybe that has something to do with the confusion over non-hidden check boxes. Anyway, the solution is to use two columns of radio buttons, each explicitly labeled with how expense in a subcategory handled.

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.