views:

488

answers:

9

I'm currently working on some setting screens, most of which contain a 2 column form with a preference question on the left, and a form element on the right.

The questions are things like:

Can add/edit other users?

Can delete clients?

Obviously this setting is a binary setting and most UI "experts" would insist that a checkbox is the appropriate form element to use.

However, when I mocked up the form with the checkboxes it looked unfriendly and it seemed hard to relate the state of the checkbox back to the question.

I changed the form to use two radio buttons instead:

  • Yes o No

Personally I find this easier to process, as the options are actually answers to the question posed on the left.

In terms of clicking it makes no difference to the user, it's a single click each time to change the setting.

What do you think of this use of radio buttons? Is this better or worse than a checkbox and why?

+6  A: 

For something like "Can do X" I would use a checkbox rather than a radio set as Can Do/Can't Do relates well to the On-Off nature of a checkbox. Most users understand a tick maps to Yes and no tick maps to No.

However, a radio set can make sense for some binary options where the options aren't clear or how they might relate to on/off isn't obvious. For example, you could have "Binary File?" follow by a checkbox, but I think in this case it would be clearer to have "File Format" followed by "Binary" and "Text" options.

Dave Webb
I definitely agree with your second paragraph. I think one of the issues with my particular screen is that the 2 column format moves all the checkboxes away from the questions and that seems to lessen the effect of the users built-in mapping. (The mapping you refer to in paragraph 1).
James
Agreed, +1. Checkboxes are the natural choice here. James, you might consider to not phrase them as questions, e.g. use `[ ] Add/edit users, [v] Delete clients` with an appropriate heading.
peterchen
A: 

From a ux perspective I'd say check box represents true/false ie; Quest is Do you Want XXX tick for yes in common parlance) but for a choice I'd prefer radio (e.g. A or B). There are other metaphors such as pushed in/popped out button.

Preet Sangha
+1  A: 

I think radiobuttons would clutter the GUI if the answers always are yes/no. Radiobuttons could also make using the keyboard to set the options a little bit harder.

Bård
+1  A: 

It depends on the context and target audience: you're aiming to minimise the thought processes required to answer it.

If it's a questionnaire, for instance, you'll probably want to ask in full sentences. An options screen would be targetted to scan-reading (so allow/deny instead of yes/no), while a toolbar (something frequently set/unset) will use a toggle. In any case, I'd err on the side of consistency.

For permissions, it's normal to use a heading of Permissions, with a checkbox for Edit users. You could even highlight the permission if it's enabled. This helps keyboard users by only requiring one press of tab instead of two. Just make sure that the click area for the checkbox is large enough.

In either case, a two column form is not recommended because it puts the target too far from the description. It also encourages questions like "Allow full control or only some (yes/no)". How about using rows that change from green to red, and show a tick/cross? That can be done in a web-friendly way.

Mark
A: 

Have you tried using only CheckBoxes labeled like "Can add/edit other users" without the question to the left?

Christian Hubmann
No, because I'm trying to use a standard form design that always has a textual prompt in the left column and the form elements in the right.
James
+1  A: 

I agree that checkboxes have more of an implicit "true"/"false" meaning, another point is that for radio buttons you can force the user to make an active choice by having neither option selected. Therefore, for important fields it may be a better idea to use radio buttons so that the user does not accidentally miss it.

waxwing
Your "active choice" point is good, although not required for my particular situation. Thank you.
James
+2  A: 

We had an experience with customer base of older age group, they understand "Yes"/"No" radio buttons better then checkboxes. And we were forced to remove checkboxes and put radio buttons everywhere. Its better for non IT savvy people.

Akash Kava
Hmmm, very interesting. My users are not IT savvy.
James
+1  A: 

I've been looking into this recently in order to design a PHP form class. As you note, the standard answer is that a checkbox should be used and I've even seen some people advocate that where radios are used, a default should be given.

I couldn't possibly disagree more. Consider when a user is a confronted with a text input, say for entering their username. If they submit the form without filling in this field, and the field is needed, we know that the empty string generated is bad input. Perhaps the user missed the field or didn't realise it was necessary. We fire an error and ask them to input the missing data.

Now considering the same scenario but with a checkbox. If the user misses the checkbox then we have no idea whether their input was intended or unintended. The same is true for radios with a default.

Consequently, I strongly suggest that a form should not contain defaults at all. If a piece of information is important enough to take from a user then it is important enough to get correct. Providing a default whether through a checkbox or a set of radios with one checked, sacrifices a large amount of accuracy for small amount of usability. Therefore, I think using Yes/No radios are vastly superior to checkboxes.

The only place a checkbox is valid, in my opinion, is where you have a small collection of options of which a user may select more than one. If the collection is large, however, then a select (without a blank default option) should be used instead.

Rupert
A: 

I find radio buttons really difficult to support or document.

You can tell people to tick the tickbox, and it sort of makes sense to them.

But "radio button" makes little sense, and "blob the option that most applies" is just a nonsense thing to say.

seanyboy