2

In most areas of our browser-based application, the user gets a context menu when he right-clicks an object. In some areas, there are no actions available for the selected object, therefore a right-click doesn't do anything.

Should we show an empty context menu in that case? (i.e. a menu with one inactive "no actions available" entry). Our motivation: it might take our application a while to figure out the possible context menu entries for a certain selection. Therefore we added a spinner image to the context menu which indicates its loading state. The user might be confused if nothing is shown after the loading of the menu has completed.

  • If loading takes time, with your suggestion to show the menu only when there are items there will always be a delay before the menu shows. You have to let the user know something is in progress somehow. – jazZRo Jul 17 '17 at 13:16
  • If there are certain objects/areas that can never have right-click actions (and you can determine this quickly enough), then it might be better to just briefly change the mouse-cursor on right-clicking (e.g. to a "no entry sign" or similar) rather than popping-up a menu with "Nothing to do" in it. – TripeHound Jul 17 '17 at 15:06
5

Because the system will take some time to figure out if there are actions available, you can't just remove the contextual menu. This will just confuse users and it will look like the systems is not functioning correctly.

I suggest you go with a menu with a message that says "no actions available for this object".

"No actions available" on its own could still be interpreted as a system failure but "No actions available for this object" explicitly tells the user why there are no other entries in the menu.

  • 1
    Or, if the presence of actions is dependent on the state of the object (or other parts of the system), then "No actions currently available" may be better (possibly with a (?) icon taking them to more information about why there are no actions, and under what circumstances they might be available). – TripeHound Jul 17 '17 at 15:08
  • Again, be more specific: "No actions currently available for this object" – Andrew Martin Jul 17 '17 at 15:10
  • Too late to edit, so "yes", with or without "for this object" as appropriate. My point was to use "currently" when an attempt at another time might offer actions. – TripeHound Jul 17 '17 at 15:17
  • Do you guys think that perhaps also showing the usual context menu but with the options greyed out would be a good idea? Or does it perhaps sends the wrong message? – Socrates Kolios Jul 18 '17 at 7:59
  • 1
    Finally I went with "No actions available for this selection", because the context menu options rely heavily on the selected set of objects. – layoutanalysis Jul 24 '17 at 9:12
0

It is possible that the menu is going to be an annoying aspect of your users workflow if they use it a lot.

Consider loading the items beforehand, when loading the entire screen. At least analyse the possibilities:

  1. Does that add a noticeable delay, and if so is this delay more or less annoying than the delay of the context menu?

  2. Is it possible to optimise the code/process so that it takes less time to load?

  3. If loading takes too long anyway, is it quicker to find out beforehand if there will be actions to show?

0

I suggest using the menu when it's needed. This should not become a rule in your design to use it whenever the user does a right click on the object. This is a something that lots of apps implement as part of their feedback action in their interaction design. If you don't have available actions, simply don't show anything.

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.