This question follows on from my last question here. Is there a commonly accepted wisdom on how to deal with buttons that are not always relevant. The two possible routes and the issues I see with them are

  1. Hide irrelevant buttons (some users will think: "This app is not working right. That/those buttons only show intermittently")
  2. Disable irrelevant buttons (some users will think: "But why is that button not always enabled?"
  • 1
    Disable only if you can enable, hide if there is no point to ever show that button, ever.
    – Majo0od
    Apr 28 '17 at 16:24

Depends on the context. If you hide the button the user may feel confused and lost but would remove unnecessary elements from the screen, if you disable the button the user is aware of possible actions and maintains control of the user.

The best way to resolve this issue is to do a user test.

There is another post about it here.


I lean towards disabling unless there's a good reason to hide. If you hide a button that I'm looking for, then I'll waste time (and have to think) searching for it.

To handle your concern around curiosity about why the button is disabled, you could have a tooltip/fly-out offering the reasoning the button is disabled, for example:

Example of a tooltip explaining why a button is disabled


The short answer would be: Hide (=move down the buttons hierarchy). The full answer is below: Disabling a button that is placed in a noticeable position is problematic for 2 reasons:

  1. it's adding to the user's cognitive load while scanning the site in a search for completing some task (e.g. to contact the site's admin);
  2. it will confuse, and probably frustrate the user, when he'll try to press it. This behavior will yield a confusion between:

Did my browser die?

or simply

This site (or in the better case- this button) is probably broken...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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