We have a drop down selection that will only have 1 option. In the future this drop down may expand for some and not for others. Would it be better to develop it now as a drop down knowing that this may include more options in the future.

Is it better to hide or show future functionality?

We can't agree on the best practice.

4 Answers 4


In this situation, I would not use a drop down until you need to.

Using a drop down with one option will be annoying to some degree because people will click on it and expect more choices but not find any. Also, people will be trained to not click on that drop down because its 'useless'. You'll have to somehow retrain them to look for the new options if/when you add them in the future.

Alternatively, simply adding a drop down when more options exist shouldn't confuse people. In fact, it sounds like a natural way to indicate that additional options have been added to the software.

  • Thanks Johnathan - I keep seeing pro's & cons to this. I appreciate your response. Nov 20, 2013 at 16:30
  • @billbdesign What are the cons that you are finding? Nov 20, 2013 at 17:12
  • 1
    Your last sentence is fantastic. I'm going to remember that one for future projects. Don't get too bogged down in choosing the right control to future-proof something - the very act of changing it in the future can be a useful feedback technique too.
    – JonW
    Nov 21, 2013 at 16:23
  • Matt - there was a concern on how the UI would look. They wanted all the areas to look consistent. So having a drop down or not having it would create a slight visual inconsistency. Nov 22, 2013 at 16:04
  • 'They wanted all the areas to look consistent.' I've been there before, but I always tend to go back to a basic design principle that similar things should look similar and different things should look different. Nov 22, 2013 at 19:16

The only time you should use a dropdown where there is only one available option is: to stay consistent with pages that have many options for the same selection.

For example: You are shopping for a new pair of shoes and are currently looking at a style that has sizes 5-14 available. These sizes are displayed in a dropdown. You click on a different style and there is a dropdown, but for whatever reason, the only size that is offered is size 9. This should still be in a dropdown because it helps to maintain a consistent design between different shoe styles.

Other than that, there should be no reason to use a dropdown in any situation that does not currently offer more than 1 option. This is reflected in many user design guideline documents such as the Microsoft Guidelines, OSX Human Interface Guidelines, etc.

By adding a dropdown where there are no options, this will frustrate the user and teach them to ignore this control in the future.

  • 5
    And even in your shoe example, the dropdown could still have options 5-14, but show all unavailable options as disabled to cue the user in that they might be available in the future.
    – zzzzBov
    Nov 20, 2013 at 19:37
  • The answer I was looking for my own question:)
    – aly.i.ux
    Apr 17, 2019 at 13:21

The other answers touch on why/why not, but there are other options available to you. The appropriate control may depend on how many options there will be and how they are generated.

Use a radio instead

If your options are going to be a fairly short list (1~5), radios will be clear to users who only have one option available and users who have many options available without having to make any modifications to the form. Just loop through the options and you're done.

As far as form processing goes (at least from a web perspective), radio and select are completely interchangeable.

Disable the select

A disabled form element clearly establishes to the user that there are no additional options available to them. As long as the user is able to easily discern the difference between enabled and disabled elements, this should work reasonably well.

Be aware that when processing web forms, disabled form elements are not submitted (ie. you won't find them in your GET/POST request variables).


We have the same situation on a project i am working on currently. We have a script (velocity - ie backend) that checks the size of the list and if it is only one item it puts the text onto the page because it has to be chosen. If the list is more than one but less than 10 we show a dropdown but if it is more than 10 we show a combo box

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.