Asana’s fascinating Tab shortcuts

Marcin Wichary

Asana 迷人的 Tab 快捷键

原文由 Marcin Wichary 发布,订阅该博客

如果你是一款专业的网页应用,你的快捷键处境可不让人羡慕。操作系统先把自己需要的 ⌘ 组合键占掉(⌘M 最小化、⌘H 隐藏、⌘Q 退出等等),接着就轮到浏览器,把从用于标签页操作的 ⌘R、T、N、L、W,到用于其他功能的 ⌘F、P、O、S 全都占了。然后,浏览器里的输入控件还得监听 ⌘Z 和 XCV,甚至可能还要加上 A(全选)、B(加粗)和 I(斜体)。

到这一步,可用的组合已经所剩无几,于是有些网页应用开始转而求助于不那么常见的修饰键(⇧、⌥、⌘⇧),另一些则直接进入无修饰键的领域,或者干脆覆写掉上面那些能覆写的快捷键。当然,每种做法都各有一堆难题

有人对此感到厌烦,也就不足为奇了,而感到厌烦的正是项目管理工具 Asana 背后的团队,他们做了一件相当独特的事:把 Tab 提升为修饰键。

视频里我演示了用 Tab+K 给任务点赞、用 Tab+Return 打开侧边栏、用 Tab+Q 快速添加任务,以及用 Tab+H 返回首页。以下是完整的官方快捷键列表,其中 Tab 相关的快捷键已高亮显示:

选择 Tab 之所以耐人寻味,是因为这个键本身就已经身兼数职:

  • 它会把焦点移到下一个界面控件,
  • 它会缩进项目符号甚至普通文本,
  • 它会接受自动补全建议或占位符(以及类似的功能)。

除此之外,把一个按键改作修饰键——尤其是这个键本身就已经有一两个本职工作——还会带来一长串奇怪的后果。而且,Tab 只在键盘的一侧,这可能会严重影响键盘使用的人体工学。(按规范来说,你本来就应该用与敲主键的那只手相反的手去按修饰键。)

不过……

我还没准备好就此讨厌它。

在这个场景下,Tab 倒也不是最糟的选择,因为除了 Caps Lock 之外,它几乎是唯一可用的大按键了——而在网页上根本动不了 Caps Lock。其他几个大键——空格、Return 和 Backspace——用来做这件事就太危险了。

不对称的问题?就我的零星观察而言,无论是右利手还是左利手,大多数人还是习惯用右手操作指点设备(鼠标或触控板),因此本来就更常用左侧的修饰键。

Asana 是这样处理其他一些难题的:

  • 当你按 Tab 来移动焦点时,这个操作现在只能在抬起按键时触发,而不是按下时,因此切换焦点(或者说,缩进项目符号)会感觉更慢
  • 当你按住一个普通修饰键后又改变主意、直接松开时,不会发生任何事。但 Tab 本身作为普通按键就已经有本职工作(根据上下文,可能是切换焦点或缩进),所以即便你改变主意,仍然会触发点什么。这可能会很烦人。(你可以按 Tab+Esc 或 Tab+Space 来安全取消,但这似乎不太直观,尤其是在惊慌失措的瞬间。)
  • 只在抬起时才触发动作,也意味着按住 Tab 时不会重复触发。我不太确定这有多重要,尤其是在无障碍的语境下。

有意思的是,我猜这也是 Asana 采用这种方案的主要原因,那就是 Tab 就像一座孤立的小岛,远离其他所有修饰键——因此不仅不会与现有快捷键冲突,也不可能和其他修饰键混淆。Asana 完全可以保留上面所有的快捷键,只是把 Tab 换成 Mac 上的 Ctrl 和 PC 上的 Alt,但那样它们就会淹没在一堆手感相似的按键之中。

(这种孤立也是有代价的,一旦你不得不把 Tab 和其他修饰键组合起来,它就会适得其反。Asana 并不常这么做——我只见过 Tab+Shift+D、G 和 F——但我真希望他们压根别这么做。)

总的来说,我对它的好感连自己都感到意外。如果你经常使用 Asana,我很好奇你觉得基于 Tab 的快捷键用起来如何。如果你在 Asana 工作,我很想知道你们是否认为这是一次成功。

唯一似乎缺失的是一个在需要时切回普通快捷键的选项,这对出于动作控制原因而需要它的人来说很重要。(用 Karabiner Elements 这类工具倒是可以实现,但那个工具用起来真的很糟糕。)

哦,对了。Tab+B 会触发这个,因为,嗯,“tabby”(虎斑猫)。挺可爱的。

本文章由 muse-spark-1.2-contributor 进行翻译

评论