在Web应用程序中右键单击:是好还是坏的想法?

40

我目前正在开发一个Web应用程序,而且上级决定使用我们自己的特定于应用程序的右键菜单来覆盖浏览器的右键菜单。

我完全不同意这种做法。我认为当人们使用Web浏览器时,他们对使用指针设备的右键功能有一定的期望,并且故意替换此功能违反了这些期望,会让用户感到非常不安(恼火?)。

你怎么想?你是否曾经见过某个Web应用程序在右键菜单方面做得很好?我的意思是你真的认为,“是的,这种右键功能是一个很棒的决定。”?

17个回答

51

通常不是一个好主意:

期望

用户,尤其是高级用户,期望能够右键单击桌面应用程序中的元素,以获取元素特定操作的菜单。 对于Web应用程序不存在此期望-实际上,期望右键单击网页会给您标准的网页菜单,您可以打印、在新窗口中打开链接、查看源代码等。

可靠性

由于覆盖内置菜单的能力过去经常被滥用(主要是由于天真的程序员试图禁用保存图像),许多浏览器禁止它或使客户端代码难以可靠地覆盖。

例外

如果您正在创建一个紧密模拟现有知名桌面应用程序行为的Web应用程序,则可能需要做出努力来实现明智的右键单击菜单。 但是,您还应遵循这些桌面应用程序菜单的通常建议:使用它们提供快速访问上下文特定操作的方式,但< strong>也提供另一种访问相同功能的方法。


5
越来越多的网络应用程序开始支持右键点击,因为它是最好的提供选择中心动作而不需要引入模式的方式。像Google文档和雅虎邮件这样的较新的网络应用程序广泛使用右键点击功能。无论是在网络上还是离线应用程序中,用户都希望获得基于上下文的菜单。随着浏览器变得更加一致,实现这一点也变得更加容易可靠。 - Michael Mikowski
1
Google Docs绝对符合“紧密模拟现有且知名的桌面应用程序”的描述。虽然我并不确定Y!Mail是否符合要求,但它肯定看起来和操作不像一个Web应用程序。我得承认... 直到现在我都不知道Y!Mail可以使用右键。想知道我错过了什么! - Shog9
2
在我看来,右键点击非常容易发现,因为它是一种广泛接受的约定,并且通常是用户选择后会做的第一件事情。我经常对那些让我费尽周折才能完成一个简单右键操作的网络应用感到沮丧。如果它像桌面操作一样,我会期望右键点击是极易被发现的。 - Michael Mikowski
@Michael:无论“hoop”采取何种形式,跳跃都是一般情况下不好的用户体验。这就是为什么我强调了这个答案的最后一行……请记住,越来越多的人使用的设备是在网页元素上“点击”采用触摸屏幕的形式 - 即使是经验丰富的MS-Office-jockey也不一定会在这种情况下想到“右键单击”。 - Shog9
4
右键点击 = 触摸设备上长按。请注意,谷歌地图现在也提供右键点击功能。我认为你在2009年的帖子是正确的。现在我们已经到了2012年的巅峰,是时候重新考虑了。 - Michael Mikowski
你应该考虑提供自己的答案...请注意,尽管一些移动浏览器会在长按时模拟右键单击事件(或者更确切地说是contextmenu事件),但这并不是普遍适用的——取决于你的目标,这可能是你需要自己实现的东西(此时,你也可能正在考虑手势)。无论如何,核心问题与实际基于桌面的右键单击相同:它不会很明显,并且不应该用于“隐藏”命令,除非你引入了一个足以容忍学习曲线的专业化UI。 - Shog9

15

不可以,因为它根本无法被发现。当然,这取决于应用程序,但是大多数用户可能不知道如何右键单击。

当用户在Web(“互联网”)上时,他们希望只需使用一个按钮。想一想所有使用苹果Mighty Mouse的用户,他们将很难使用你的网站。

向老板证明这个想法是否可行的最简单方法是在真实用户上测试。你本来就应该这么做。


1
不幸的是,如果您不开发最终出现在商店货架上的应用程序,您很可能会被视为“培训要求”而被驳回和免责。谁需要标准或直观的行为,当您可以训练您的最终用户按照您的方式操作呢,对吧?开玩笑 - STW

10

谷歌文档是唯一一个我欣赏尝试使用右键功能的网络应用程序;而且它们已经完美地实现了这个功能。

更新: 为了澄清一下,我认为这个实现非常棒,因为谷歌文档(整个站点/应用程序)非常擅长让你忘记自己正在使用一个网页浏览器。

再思考一下: 不要这样做! 在IE6/7/8、Firefox 2/3、Chrome、Safari和其他较不知名的浏览器和版本之间进行支持听起来像是一场噩梦。除非您的用户人数超过百万,否则仅测试就足以避免这些问题。


你能否更详细地描述一下它是如何实现的,对于那些从未使用过Google Docs的人来说? - Calvin
或者它是如何被很好地使用,让你欣赏它的呢? - strager
只需注册一个GMail帐户并尝试使用Google Docs。基本上,右键单击会打开上下文菜单,就像任何办公套件一样。右键单击之所以直观是因为Google Apps非常好地模拟了桌面应用程序--您右键单击一次后忘记它是Web应用程序,当您意识到自己的操作并期望看到“查看页面源代码”时,您会看到一个完美集成的上下文菜单。 - STW

3
Shog9的回答是您问题的最佳直接答案,但是避免在Web应用程序中使用上下文菜单的另一个原因是这是摆脱使用上下文菜单的绝佳机会。
大多数Windows和*nix GUI应用程序都严重依赖上下文菜单来实现它们的大部分功能。 Mac OS一直因真正的菜单选项和工具栏元素而备受赞扬,而不是上下文菜单,后者很快就会成为嵌套列表的隔离区(特别是如果允许其他应用程序嵌入功能)。
Web应用程序对UI设计师来说是一股清新的空气,因为界面必须可用且功能强大,而无需使用右键单击菜单。此外,休闲用户出奇地不会被Web应用程序中的新UI范例所吓倒,而在桌面上进行实验通常是令人厌恶的。
因此,在浏览器中应用程序的时代是开发人员重新思考UI范例的绝佳机会。 在Web上,右键单击菜单是一种逃避责任的行为。

问题是关于右键的使用。不一定是右键上下文菜单。 - Hamster

3

这取决于应用程序的类型。我一直认为这是一个不好的主意,但是网络应用程序越来越接近桌面应用程序了。所以我向可用性大师(Nielsen)询问,令人惊讶的是,他非常支持右键点击

...高技能用户经常会感到失望,当一个应用程序不支持右键点击时--例如,如果它是在Flash中实现的,并弹出Flash播放器菜单而不是上下文适当的应用程序命令。


2

是的:您应该具备上下文菜单。实际上,您没有选择。浏览器将为您提供一个右键菜单,但唯一的上下文将是网页。因此,当您点击订单行时,浏览器将为您提供诸如“返回”、“另存为”、“查看源代码”和“打印”等操作。您可能对这些不满意。所以问题是:您是否想用适合上下文的内容覆盖这些?随着Web应用程序变得更像桌面应用程序,答案将越来越是肯定的。


2

右键菜单在Web应用中运作良好,只要您的用户理解正在发生什么。有几种上下文菜单实现可用。Outlook Web Access提供了一个用于处理电子邮件的上下文菜单。


2
由于在网站上右键点击的使用频率非常低,因此我认为这是一个不好的想法,并且不会被视为“最佳实践”。
如果您与互联网上的大多数网站做一些不同的事情,那么您要求用户花费时间学习您的应用程序/站点。
此外,Mac用户传统上没有2个鼠标按钮,而且并非所有Mac用户都知道如何通过使用选项单击组合键或其他方式来“右键单击”。
因此,除非您真的有一个有效的理由这样做,否则我不会这样做。

2
我注意到 FCKeditor 有一个右键上下文菜单...... 在这个例子中,它可能是有意义的,因为所提供的所见即所得编辑器通常是给没有HTML经验但有更多Microsoft Word经验的人使用的,在这种情况下,他们期望右键单击对他们输入的文本进行某些操作。

然而,一般来说,这样做是不好的实践。一个浮动的模态框是否可以满足需求?


2

我不想表明立场,但是...

如果你决定采用右键方法,请查看YUI!框架

他们已经有了一个跨浏览器兼容的上下文菜单实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接