I have a tool bar of buttons. The state changes every time user interact with it (fig. 1).

enter image description here

Fig. 1

Sometimes application allows user to refresh view only, so other buttons are invisible (fig. 2).

enter image description here

Fig. 2

My questions are:

1) What is the best: disable inactive buttons or do its invisible?

2) Is a good practice to stay buttons on its place or move them to left (right) while other ones are invisible (see fig.2, fig. 3)?

enter image description here

Fig. 3

5 Answers 5


I can see a problem with inconsistency if you remove the buttons entirely and start moving active buttons around the toolbar.

The usual practice is to provide inactive buttons with an inactive state eg grey or faded. The additional benefits of this approach is that you are keeping the user informed via visual feedback of the state of the system; invisible items cannot do this.

  • 5
    Also, if the user gets used to hitting the button on the left for "refresh", they may accidentally hit "delete" when it becomes visible.
    – Stuart
    Aug 23, 2011 at 13:59
  • wow, yes, just noticed that too, and I'm sure I'm not alone in saying that this very scenario has happened and. it. is. Bloody. Annoying!
    – colmcq
    Aug 23, 2011 at 14:24
  • @Stuart yes, thank you. it is dangerous to place different buttons at the same place.
    – igor
    Aug 23, 2011 at 15:39
  • 1
    I would also suggest that hovering/clicking inactive buttons should display a tooltip showing why the button is inactive. If it is not clear why a button is disabled, users may get frustrated or confused.
    – Emil
    Aug 24, 2011 at 7:18
  • 1
    i think sometimes this is a sign that you are using a form/page for too many things and you actually need two forms/pages
    – jk.
    Aug 24, 2011 at 9:39

Research has shown that consistent placement of the buttons is more important than labels, icons, or colour of the button.

Orbitz Can’t Get A Date

From these results, we inferred the location of the icon is more important than the visual imagery. People remember where things are, not what they look like.

This was also the reasoning behind Windows 7's new taskbar with pinned applications, and Office's Ribbon.

I think that your example should follow the same reasoning. Personally, I would be frustrated if the buttons' positions changed every time I clicked something or between sessions.

Also, the lack of a button I'm used to could make me wonder whether that feature was removed from the product altogether, and not just disabled at that precise moment.

The disabled buttons should be greyed out, even if barely visible, and the active buttons should stay where they've been.


I would never want to force my customers to "find" the right button when they have already used it. Even moving it a little is initiating a hunt depending on different circumstances. A grayed out button is common knowledge that it can't be used until another action activates it. Shifting and adding buttons shouldn't reduce clutter if your design is strong and already uncluttered.


Denial of a particular function can be mainly attributed for two reasons in most applications.

  1. Security/Access Control
  2. Situational/Logical

In the case of menus, buttons, toolbars, icons and many UI elements the following behaviors are considered normal for each of the above situations.

  1. Security/Access Control : hide
  2. Situational/Logical : show and disable

I would say it depends on the application. If your buttons are located in a fixed toolbar, then they should always be visible so that the user can get used to what commands exist, during what states they are available, and where they can find them.

If your buttons are dynamically added alongside a repeated or temporary control (such as a list of items each with its own set of action items), then it isn't a bad idea to reduce clutter on the screen by only displaying buttons for possible actions.

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.