为什么在Web应用程序中“右键单击”不太常用?

41

越来越多的应用程序正在转移到云端:Google Docs 用于生产力应用、Meebo 用于即时通讯、Gmail 用于电子邮件、Salesforce 用于CRM等。

但是,与它们的桌面版不同的是,很少有这些网络应用程序利用鼠标的“右键单击”功能。大多数情况下,在网络应用程序中进行右键单击时,我会得到标准的浏览器右键单击菜单。

我认为这并不是由于技术实现的原因,因为在JavaScript中修改右键单击菜单相当简单。

我是否忽略了什么真正的原因?

编辑:最流行的原因似乎是它“不符合用户的期望”。另一个提到的原因是一些用户禁用了JavaScript - 这是一个有效的答案 - 但 在我们的情况下,我们可以排除这种可能性,因为我们谈论的是需要JavaScript的应用程序,而不管右键单击选项。

现在,让我扩展一下我的问题:

  • 您认为应该保持现状吗(您真的认为默认的浏览器右键单击菜单很有用)?
  • 您是否希望看到更多的应用程序特定的右键菜单,以改进用户界面?

2
Google Maps应用程序中具有上下文相关的右键菜单。我觉得必须指出这一点。 - user103219
1
说起来,网页应用程序中的双击也非常少见。 - Thilo
15个回答

38

大多数用户期望右键单击菜单会弹出浏览器上下文菜单,所以进行右键单击来弹出应用程序特定的菜单不是他们会尝试的。


12
今天这个可能是正确的答案,但我希望(尽快)改变。就我个人而言,如果浏览器托管应用程序,则希望右键单击是针对特定应用程序的。如果只是一个网页,那么浏览器的上下文菜单就足够了,否则会有点烦(至少对我来说是这样)。 - Michael Burr
5
我不同意这个观点。如果说有什么的话,我认为大多数用户根本不会在网页浏览器中使用右键点击功能,或者只是偶尔使用。 - Coxy
6
当他们这样做时,他们会得到...浏览器上下文菜单的奖励。他们很快就学会了不要右键点击。 - Ignacio Vazquez-Abrams
8
你们真的认为设计用户界面的一种有效方式是这样推理:“大多数用户不习惯右键点击,所以我们不应该将其用于任何操作”吗?这就像说“大多数用户不习惯触摸屏,所以我们不应该利用触摸屏”。不要太保守了 :-) 在我看来,右键点击是一个强大的工具,应该更加充分地利用。 - Joonas Pulakka
2
你没有错,但用户会养成一种习惯,除非他们被强烈教育,否则不会改变。有时甚至即使这样也不行。 - Ignacio Vazquez-Abrams
显示剩余5条评论

24

苹果电脑没有“右键”,很多触屏手机也是如此。

即使在Windows应用程序中,大多数普通用户(不是程序员或高级用户)在需要执行任务时也不会想到使用右键单击。除非他们已经熟记了要执行的任务,否则不会使用右键单击。

(同时,在大多数网页上右键单击会弹出一个常规用户无法理解的菜单,因此他们不会再尝试第二次。)

所以你总是必须提供另一种方式来执行操作。


1
我认为Ian的想法是正确的。移动计算正在迅速发展,而在Palm Pre/iPhone/Driod等设备上没有“好”的右键点击方式... - Richard Hurt
那是一个非常好的理由。但是,有些触摸屏不是通过长时间触摸来模拟“右键单击”(即单击但不立即释放)吗? - Olivier Lalonde
@Olivier 这些触摸屏的用户是否经常尝试“右键单击”以查看是否弹出有用的菜单?右键单击只是许多普通用户从未考虑过的事情。 - Ian Ringrose
Mac确实有右键鼠标。通过按住Ctrl再点击鼠标键即可实现右键功能。尽管我只是使用一般的鼠标。 - Shawn
@Shawn,是的,但有多少普通的Mac用户会想到尝试“ctrl + 点击”呢? - Ian Ringrose
为了记录,几乎所有的 Mac 电脑都有右键点击功能,除非它们非常老旧。Mac 用户很熟悉使用右键点击。 - Ryan Hiebert

15

我认为一种非常有效的Web应用程序方法是仍然保持所有浏览器功能的启用,例如后退按钮、在新标签页中打开内容、添加书签、更改字体大小等等。

我不想要一个应用程序夺走浏览器的右键上下文菜单。

现在,当你开始将Web应用程序移出浏览器并置于自己的窗口中(将其转换为专用应用程序,例如Fluid所做的事情,以及我认为Chrome OS将会这样做),没有URL栏和后退按钮,那么我们可以谈论上下文菜单。


1
我知道这是阻碍开发人员制作自己右键菜单的原因,但我不明白为什么必须这样。你在右键菜单中发现了什么有用的东西?就我个人而言,我从不使用它,尽管我是一个 Web 开发人员。大多数控件都可以从浏览器顶部菜单中获取,其他控件可以通过快捷键访问(ctrl-c、ctrl-v、ctrl-u 等)。 - Olivier Lalonde
4
每天大约50次,打开链接并在新标签页中打开。我不在意是否有其他方法来做到这一点。这是肌肉记忆。 - Thilo
1
当你手里只有鼠标时,右键单击是访问任何可用内容的最快方式。 - Joonas Pulakka
3
从可用性的角度来看,使用中键或按住Ctrl并左键点击打开链接是否更快呢?-_- - Olivier Lalonde
2
一个例子可能是,如果我正在查看收件箱,我希望能够右键单击一条消息并获得诸如“打开”、“回复”、“转发消息”之类的选项。在这种情况下,“返回”或“查看页面源代码”等选项不太有用。而上下文菜单关乎于上下文,不是吗?我不在乎收件箱恰好在浏览器中 - 在我的想法中,它是一个电子邮件应用程序,而不是一个网页。 - Michael Burr
显示剩余3条评论

4

用户不习惯在浏览器中进行此类操作,您不应更改默认行为。当用户右键单击时,他们并不期望发生任何事情。


3

仅为完整性而言:Opera没有oncontextmenu属性,且没有简单的方法来禁用右键菜单。


2
正如其他人所说,这是由于历史和用户习惯造成的。但我猜这将会随着Web应用程序变得越来越重要而改变;目前Web应用程序是在“Web浏览器”应用程序中的“Web页面”,这相当奇怪,当你考虑它时。现在有趣的不再是Web浏览器,而是Web应用程序。为什么它应该在一个叫做“浏览器”的东西里运行呢?即使从技术上讲可能有意义,至少对用户来说不应该那么突出。
实际上,我们正在看到这一点在Google Chrome中得到体现。它绝对比以前任何东西都更加简洁。它几乎是一个“Web的纯粹窗口”。

1
我同意。将其从浏览器中移出到一个单独的应用程序(例如Fluid),删除URL栏和返回按钮,然后我们可以讨论上下文菜单。 - Thilo

2
给javascript控制右键点击,就像这样:http://periodic.lanl.gov/elements/24.html。我非常喜欢这个网站,但它试图阻止我复制文本或图像(无论它试图做什么),严重干扰了我的网络使用模式。我总是在其他选项卡中打开东西。我总是使用右键菜单访问“返回”命令。
当某些网站上有flash动画窃取我的控制键时(因此我无法再 Ctrl + Tab 翻转到另一个选项卡)时,也会使我感到烦恼。
我的底线:Web应用程序不能取代本地计算机的内置命令。如果Web应用程序开始接管控制键、右键等,它已经越过了本地和远程应用程序之间的界限。保持这条界限非常清晰是非常重要的。

1
是的!当网站夺走我的控制权时,我会非常恼火,大多数情况下,我永远不会再回去。 - Chris
你是用右键菜单打开新标签页的吗?你知道你可以使用中间鼠标按钮或ctrl + 左键单击来在新标签页中打开链接吗?以后再感谢我吧 ;) - Olivier Lalonde
我的左手经常忙着拿咖啡杯、铅笔或者撑着下巴 :P 当它空闲下来时,我会有时候使用控制加点击,但在不同的平台上它并不是相同的按键组合(我在WinXP、OSX和Ubuntu之间切换)。右击是跨平台的。 - Seth
@Shawn:在Mac浏览器上,通常是Command-click,有时是Option-click。 - Seth
您提到的页面在 Firefox 中会显示 2 个警报,然后会显示上下文菜单。 - Calmarius
@Calmarius - 这似乎是新的行为(在Chrome中也会出现),我怀疑它与现代JavaScript引擎的交互不良有关。 - Seth

2
右键单击在桌面应用程序和浏览器中都是专家的快捷方式。专家喜欢它,而非专家会忽略它或仅在特定情况下机械地使用它,而并不真正理解它(他们可能只是因为某个专家用户告诉他们要使用它才真正使用它)。那没关系。为专家提供一些东西对于厚客户端或Web应用程序来说都没有问题。所以,当然,如果Web应用程序包括应用程序特定的右键单击菜单,它们将更好。如果它们包括命令加速键、下拉菜单助记符、双击默认操作以及选择、复制和移动的拖放功能,那么它们也将更好,既然我们正在谈论支持专家的内容。
坦白说:我们不为专家做这些事情的原因是因为我们不想为额外的工作烦恼,而不是出于对意外可能导致用户困惑的担忧。这是一个有效的观点:典型的Web应用程序使用率低于桌面应用程序。 “专家” Web应用程序用户因此更少 - 很少有人使用Web应用程序足够多,去发现和使用专家功能。那么为什么要花费资源来造福如此少的用户呢?
尽管如此,我还是想鼓励设计师在他们的Web应用程序中拥有特定于应用程序的右键单击菜单。如果您确实有应用程序特定的右键单击菜单,请遵循以下规则:
  • 所有右键菜单命令都应通过其他方式提供,例如侧边栏菜单。由于右键是专家快捷方式,您需要以非专家习惯的方式提供相同功能的访问权限。尽管浏览器(例如MS Internet Explorer)公然违反此规则,但此规则是一种标准(例如MS Windows)。此规则还解决了禁用Javascript的用户的问题。

  • 不要删除仍然相关的浏览器右键命令。用户仍应能够执行在页面上保存图像、复制一段文本和在新标签中打开链接等操作。事实上,您应该尽量保留浏览器命令的顺序。通常情况下,请遵循菜单项组织和顺序的标准。这解决了右键菜单出现意外的问题:只要相同的命令以相似的顺序出现,对于习惯于右键单击浏览器命令的用户来说,并没有什么成本。

  • 一致使用右键菜单。凡是可以具有特定于应用程序的命令的内容,都应提供这些命令的右键菜单。如果用户必须开始猜测哪些内容具有右键菜单,他们就会放弃它。另一方面,如果他们在一个项目上发现了它,就会鼓励他们在其他地方尝试使用,并且您希望回报这种行为。

  • 通过广告、演示和文档中展示应用特定命令使用右键菜单来鼓励使用右键单击。您还可以在页面上明确显示(可能只在鼠标悬停时)下拉箭头,以指示何时可用特定于应用程序的右键单击。一些专家用户将发现您的应用程序特定命令,因为他们会为浏览器命令右键单击,但在许多情况下,浏览器右键命令是如此无用,即使专家也不会右键单击,所以您可能需要“推销”一下。


1

这不是用户所期望的。

它也不是特别“易发现”: 就像老式的Flash网站一样,你必须将鼠标滚动到图形上才能让网站执行某些操作,右键单击也不一定直观。


1

因为我们称之为最佳实践的小事,所以你不应该玩弄右键!不要剥夺我作为用户控制我的体验的权利!我希望我的右键能够像正常情况下一样使用!

最佳实践是将这种行为变成用户可选的。如果您想修改此行为,请使其成为用户可以在其个人资料或应用程序设置中控制的内容。

例如:

(click to enable)
[ ] Use super special awesome right-click menu 

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