I've heard two conflicting principles for UI design.

  1. disable or hide functions that are not applicable to the current state of the program (maybe this is more for large forms such as in surveys)
  2. always make apparent all functions so that the user knows what's there (also so screen readers can read all functions). An example of where this is NOT done is how in spotify you need to hover over a cover to see the playback controls.

OK. Concrete example. Say I have a map app. The user enters an address. Should the "go!" button be disabled, grayed out or completely hidden until the user has entered an address (since obviously it wouldn't make sense to search for something before the user has even typed it in)?

2 Answers 2


Usually there is one question that I ask while designing such an interface. Does any user action change the state of the control that is currently disabled?

If any user actions toggles the state of the control then it makes sense to have those controls visible but in disabled state. If the control will never be enabled then it makes sense to show it as a label and not as an actionable item.

If real estate permits, it makes sense to let user know the information upfront. Making something visible later is mildly annoying to the user. She wonders, 'what are the other aspects of the screen will materialize afterwards?'. This feeling is not good for a user interface.

However, in case of admin functions or secure actions can be hidden from the normal users completely. But when logged in as an Admin, those functions need to be visible but conditionally enabled, disabled.

In your example, I'd not hide the go button. Hiding a single go button achieves nothing. There is not a significant real estate gain as well. I'd at max enable and disable it based on user entry in the associated input.


I think it's better for the user to know why he can not do any action. So just don't hide or disable the Button, but show him why he can't push it. Like un forms, you can't submit if required fields are stille empty.

  • Please give more details as to why you think it's better for the user to know why he can't do any action.
    – Andrew
    Commented Jul 14, 2016 at 15:46

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.