On a windows based LOB application for data capturing. Is it better to hide a button completely when it is inactive, or simply show a disabled state for the button.


4 Answers 4


As with so many questions regarding UX, the answer starts with 'It depends'. This is because UX is inevitably based on context and action.

Some arguments for using a disabled state:

  • Even if not in use, the user has a chance to learn that the action is possible. You may even have a tooltip explaining the criteria for use.
  • The user can learn where controls and buttons live within the interface. This assumes that if a lot are hidden at one time the structure would be less clear. (Depending on your design).

Some arguments for hiding the button:

  • Clarity. Only showing what is needed for the task at hand. Attention is focussed.
  • It allows you to change the controls, using the same space for different means. Gmail does this. This is handy when there is a lot going on.

The questions you should ask yourself are

  • "What does the user need to know at this point?"
  • "What does the user need to do at this point?"

Remember that no screen is in isolation. Each frame helps tell the story. So if you can establish an idea or pattern previously the requirements for this screen may change.

While simplicity is a great goal (potentially supporting not showing the button) you should never simplify more than necessary. Therefore if the user needs to know about the existence of the button, or you need to build the context, you might need to consider it.

A good testing regime should tell you this.

  • Very concise - makes me feel like I maybe didn't put enough effort in to my answer now! Upvoted :)
    – TJH
    Commented Aug 7, 2012 at 12:23
  • Good summary - though worth noting that there is a third option: leave the control active and message the user if they interact with it outside of full compliance. This latter option can be nice because it doesn't require any explanation for a disabled control. It can be good for forms, particularly long ones if you scroll the user to the first offending field, and seems to be preferable to disabling controls in many places I've experienced.
    – Mattynabib
    Commented Apr 25, 2023 at 18:30

I would suggest that hiding the button completely can add confusion for the user, as the other (unhidden) options might not make as much sense when you don't know the alternatives.

Allow me to give an example:

If the button which the user can see is "old" and there is an opposite button hidden - the hidden button could be "new" or "young" as they are both opposites of the same word.

OK, that's not an ideal example, but I do think users like to have a more complete holistic view of the situation they're in and hiding data may remove from that.

Some might say that if the other button is disabled it doesn't matter as the available option is still the same, but I would still argue that a user should be given as much information about their position in the UX as possible.


I agree with Jay that it depends. But here's one guideline you might want to consider: Only hide a button if the user's permissions determines they cannot do the button's action. This way each user will get a consistent view of the product, which may change from user to user.


I agree with the it depends answers. But to break it down as good as I can in this situation you should check which information the button communicates if it's hidden or displayed. Do a user flow for this part and you will see if the user could stuck on the hidden button or not.

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.