9

If there's a form that requires a user to select, let's say, one of the email addresses he/she has on file in his account, would it be bad practice to make that menu item a drop-down regardless of how many email addresses are registered?

My instinct is to only show the menu item if there's more than 1 option available. This has the benefit of simplifying the form and preventing the user from spending time on a menu item that would essentially have no purpose.

However, couldn't the argument be made that one of the purposes of the drop-down menu (aside from allowing a particular email to be selected) is to imply that the system allows for more than one email address to be registered? Displaying it as a drop-down regardless of the number of accounts registered could help the user realize that more than one email address can be registered while at the same time avoiding the: "What would happen if I had more than one account?" question.

Any additional arguments and opinions to either solutions are welcome.

6 Answers 6

8

If the field is mandatory, then there is no selection at all, hence the dropdown should be filled with its only value and disabled.

If the field is optional, then the dropdown effectively has two values: "no email account" and the value with the account. So there's no problem there.

I agree that in this kind of situations there is value is displaying the dropdown even when it isn't really needed - because of the reason you mentioned. But it shouldn't be active.

2
  • +1 for a distinction between mandatory and optional, with the possibility of an empty field in case of optional
    – Jan
    May 16, 2011 at 16:15
  • If you have a disabled dropdown with a value, wouldn't that lead to people thinking that this setting is not active or that they did something so they couldn't change it?
    – Nash
    Jun 5, 2018 at 10:09
5

You should never have a drop-down list if there isn't anything to chose. One option could be to show a disabled drop-down to indicate that - if there was something to chose - you could do it there.

I'd still prefer to not show it at all as long as it's not relevant for the user (reduce noise and minimize confusion). I'm sure there are better solutions to show that you could add more accounts (for example show a link "add an account" instead of the email drop-down list).

Hope that helps, Phil

3

Ultimately that depends on the nature of the form. If it's a configuration form that users will return to many times, never hide it. It'd be very frustrating to see the setting "magically appear" out of nowhere. But for one-time registration forms, you could probably get away with it.

One other note: if you have the ability to add an e-mail address at any time, you should also add that option to your dropdown. Example:

Send e-mail to:
- none
- [email protected]
- (Add address)

However, this does requires a bit of extra work.

1

On occasion that I've had to deal with this type of selection I've suggested setting rules around the input type dependant upon the number of options and whether they are or are not exclusive.

For example;

<=3 options check box or radio
>=4 drop down, multi select etc

It only leads to a little more work in the options are populated dynamically however, the logic required to allow such change is quite simple server side.

1
  • I like the suggestion because with few options radio buttons are usually more user friendly. (Checkboxes imply a different behavior, but if you combined dropdown and 'add' button for multiple values, checkboxes are correct.)
    – Inca
    May 19, 2011 at 17:49
1

I see it like this. If there are more email addresses available, you let the user choose one. If there is only one, you just display it. In both cases the user can add a new email address.

0

Where there is no choice, the suggestion of choice should not be presented. Instead, just let the person know what is going on. I like what Phillip suggested, which is to use a list to not only imply that multiple emails are possible AND to provide a path to that feature.

Your Answer

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

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