Answers:
有两个例子可能不足以将其称为“既定做法”,但至少有两个大例子:Google和Twitter都不使用。或者,如果您希望以这种方式查看,则其导航的修饰键为G。
要转到Twitter的“收藏夹”页面,请点击G,然后点击F。要转到您的Gmail草稿文件夹,打G则D。
非导航快捷方式也使用简单字母;例如,J用于向前移动列表(推文,电子邮件等),K向后移动。*
*在我的书中,这是绝对错误的。对我而言,“ K”左侧的“ J”表示“ J”应为“上一个”,“ K”应为“下一个”。但是,以其他方式执行此操作似乎是标准方法。
两者都不使用“真正的”修饰键。我们也开始研究Stack Exchange网站的键盘快捷键,并且我们可能会做同样的事情。我发现根本不使用修饰键的两个原因:
另一方面,这里有两个注意事项:
显然,当用户在文本框中键入内容时,击键发生时,您将不得不忽略它们。这不是技术问题,但是这意味着用户无法再使用快捷方式。
例如,如果您的页面使搜索框自动聚焦,或者您的Web应用程序的文本输入量很大,则可能会出现问题。
您可能需要考虑启用/禁用。键盘快捷键是高级用户功能;当“正常”用户不小心触发键盘快捷键时,可能会感到惊讶(很显然,使用修饰键会降低这种可能性)。
例如,Gmail的键盘快捷键默认情况下处于关闭状态,唯一的例外是?(自然地)显示键盘快捷键帮助- 包括启用/禁用快捷键的链接。我认为键盘快捷键是一个可以设置的地方(用户偏好通常是我们希望在Stack Exchange网站上避免的设置),Google的解决方案对此似乎很好。
但是“默认情况下关闭”显然会隐藏可发现性,这可能是问题,也可能不是问题。
–但考虑到所有事情,“完全没有修饰键”对我来说似乎是一个很好的解决方案。
@balpha
。我确实要指出,J是“向下”,而K是“向上”。VIM文本编辑器使用相同的逻辑
您最好的选择是:
不使用修饰键(仅单个按键),然后在用户的光标位于输入字段或文本区域中时停止检测按键,就像Google使用Gmail快捷键一样。
- 要么 -
根据Analytics(分析)数据中的操作系统统计信息,选择一个适合大多数访问者的默认值。允许需要快捷方式的高级用户激活它们并在其用户设置中覆盖修改键,方法与台式机软件相同。
- 要么 -
使用“触发”键而不是修饰键。例如,2,考虑转到选项卡式导航区域中的第二个选项卡,然后,3转到第三个选项卡。逗号后面紧跟数字的组合足以减少发生冲突或意外按下的可能性。
在所有情况下,您都可以考虑默认情况下禁用快捷键,以防止可能不关心快捷键的大多数用户遇到意外行为。
我之所以建议使用这些方法,是因为没有标准化的跨平台修饰键,您可以认为在浏览器环境中可以安全地使用JavaScript。任何含有Ctrl,Shift,Alt,或Cmd将有可能打破在某些平台上一些浏览器快捷方式。
例如,您使用Ctrl+的建议Shift将破坏Windows上的Firefox快捷方式,其中许多快捷方式都使用该组合来执行特殊功能,例如Ctrl+ Shift+ 会将D所有打开的选项卡添加为书签。
由于没有跨平台标准,浏览器制造商使用不同的快捷方式在每个不同的平台上触发访问键。例如,Apple Ctrl在Mac和AltWindows的Safari中使用。
此外,每个浏览器以不同的方式解决快捷方式冲突,这将给用户带来意想不到的后果。当您将按键绑定到JavaScript中的功能时,该功能也具有作为本机浏览器快捷方式的绑定...
return false;
愿意,Firefox会自行运行JavaScript快捷方式,但是如果您愿意,它将执行JavaScript函数,然后执行Firefox浏览器快捷方式return true;
(即默认情况下,两者均运行)。[来源:John Resig的jquery.hotkeys自述页面底部的附录。]