Possible Duplicate:
Is it better to prevent a forbidden action or display an error/explanation message?

I have had some discussions with my boss about this below issue, please give me some ammo for further discussions. Here we go:

In my webapp I have a table of candidates applying for a position. Each row represents a candidate and I can perform actions on them like edit, create report and delete. Some actions are not allowed (cannot create a report before the respondent has entered a questionnaire for example and cannot delete a respondent which has been shared to me by another user).

Here is the table im talking about. See the disabled (grey) Report links. If clicked the "Questionnaire not completed" message pops up.

Is this best practice, ie make the links which coorosponds to actions not allowed inactive. If clicked then have a message appear explaining why the action is not allowed. Or would it be better to hide the inactive links?


Two things to consider:

The opposite of affordance is constraint. An element with a constraint appeal shouldn't accept an user interaction at all. That will undermine the whole perception/understanding of the system.

If a hint/message box/error dialog is necessary to communicate the required sequence of events, that information should either be a result of an ordinary action (on an ordinary link/button), or it should be shown as a hover hint for the disabled control, or it should be described as ordinary help-text or quick info in a dedicated "hint pane".

| improve this answer | |
  • Not sure I understand your second point or maybe it was not clear in my linked image but: the messagebox is displayed only when a user clicks a disabled link – Muleskinner May 25 '11 at 12:10
  • @user: My point was that it should not be possible to perform an action (showing a message box in your case) on a disabled element (link/button in your case). If it is necessary to show the user some information on why it is disabled, then you should provide this information in another way. Eg. as hover-hint or as permanent text in some dedicated "help area". If you really want to show this information to the user when the user clicks the link/button, then the link/button shouldn't be disabled. It should be enabled and give the user feedback as a result of an ordinary user interaction. – Jørn E. Angeltveit May 25 '11 at 12:50
  • ... If you allow the user to perform actions on disabled elements, then the user wouldn't be able to distinguish between enabled and disabled elements in the system. They can see the difference, but disabled elements are not longer defined as "unusable", because they could react to the users input (the mouse click)... – Jørn E. Angeltveit May 25 '11 at 12:51

Hiding them completely will make the user wonder why the action is missing. And he won't be able to get an answer. Graying them out seems the best way to do it. The explanation provided when clicked is welcome (although the message is a little to far for my taste).

| improve this answer | |
  • yeah thats what I think too – Muleskinner May 25 '11 at 12:30

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