Possible Duplicate:
Should disabled options ever be hidden?

I'm currently working with a project team that has a requirement to make additional reports/data available to end-users with a single click from a customer task screen. It has been decided that these reports will appear in a model that is shown to the user after clicking a button on the customer task screen.

The issue is not all customer will have these reports based on there account; but, all accounts could have these type of report appear/disappear at any given time. For consistency we intend to always show the reports section which is a table (see mockup below).

So the question is do how do we show the state of each report with the buttons? Do we show the button as disabled when there is no report to view? Hide the button all together when the information is not avaliable? Leave the button enable at all time and just information the user there is "no" reports at that time?


download bmml source – Wireframes created with Balsamiq Mockups


3 Answers 3


Disable the button if the report is not available. AND change the button label so say so. The idea of "shaded means it's un-clickable" is a common paradigm. And the wording strongly reinforces the idea.

Don't make your users click on buttons to find out if it's available or not. It won't take many clicks to really get them mad. It will come across as "ha, ha. Fooled you! You can't have/do this."

  • Agreed, personally didn't want to leave anything to fool the user. But I wanted to be fair and presented all ideas presented from the team.
    – JeffH
    Aug 23, 2012 at 22:49

Letting users to find out there's no report after clicking an enabled button is a bit like me sending you to get me a coffee on Sunday morning, being fully aware that the only coffee shop in town is closed on Sundays. As a user I would hate you if you lured me into clicking a button only to tell me it does nothing.

The idea with disabled state is that at some point it should become enabled, but you want to communicate to the user: "You can't do that just yet". Like a save button on a form that is not yet valid.

As a user I would probably get confused, since I would expect these disabled buttons to become enabled, and I might be baffled as to what am I doing wrong.

I don't see any reason why to include any control or visual element for something that is never going to do anything (in the life cycle of the current view).

So I would hide the report button.

  • 1
    PS, I believe your users will understand if instead of providing a button with a magnifying glass icon and a label saying 'view report 1', you just provide an icon of an eye.
    – Izhaki
    Aug 23, 2012 at 21:29
  • I like the idea about the eye over the magnifying glass. Don't know why I didn't caught that one sooner.
    – JeffH
    Aug 23, 2012 at 22:50


I am in the hide camp on this. Why make the user think?

In my anecdotal experience, I have never seen any user peruse a group of similar elements and say "Gee! a button is missing on this one. Where is it?" They scan the page with their eye and simply respond to what is presented. The absence of an element is the most telling way to demonstrate there is not thing to do.

Just to offer a different suggestion. Try a clickable "report" icon button on the left of the report names. This way the list items are clear and the report icons follow a clear pattern of available/unavailable and are clickable along an easily scannable line.


Hope this helps.

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