C3.25.1Long-press versus double-tap timing设计研究

长按阈值通常设定在数百毫秒量级,短于双击间隔避免语义冲突

别名: 长按阈值 · 双击间隔 · timeout nesting

概念解释

长按的默认时钟落在约 400–600 ms 这一档,并且应短于同一热区上等待第二次点按的双击窗口。按住是连续接触,双击是抬起再按下;若长按被排到双击窗口耗尽之后才允许成功,一次有意的按住会先被当成“第二次点按还在路上”,菜单像失灵。两个超时必须错开,这条讲的是错开的方向,不是长按原语本身。

机制

按下之后,若识别器把“尚未抬起”和“也许会抬起再点”放进同一条等待队列,双击窗口会挡住长按。窗口常见 300–500 ms 量级;把长按放到更长,按住的人要先熬完别人的第二次点按,语义就被嵌套错了。正确的拆法是:只要接触没有抬起,就不要为双击留位子——双击在第一次抬起之后才开始计间隙。长按用自己的数百毫秒时钟在未抬起的接触上开火,并且这个时钟仍短于双击间隙,避免“慢双击的第一下”和“短长按”抢同一段时间。数量级停在数百毫秒,是因为再长就变成明确的等待任务,再短就变成略慢的点按。

怎么研究

在同时挂了单击、双击、长按的热区上,扫描两个超时的相对值。任务混合三种意图,记录长按被当成未完成双击的比例、双击第一下被升级成长按的比例、以及单击被拖慢的时间。画出二维冲突带,而不是只报一个“最佳毫秒数”。被试点按节奏要实测。

边界

关掉双击的普通按钮不必迁就双击窗口,长按可以更早。辅助技术改写双击为激活之后,应用可能收不到这两条时钟。触控笔的双击间隙通常更短,相对关系要按笔重做。错开时钟解决的是分类打架,不回答“等多久才会烦”,那是等待感知。

怎么落地

  • 长按只在未抬起的接触上计时,不要 require 双击失败才开始;数值留在数百毫秒,并短于该视图的双击间隙。
  • 不需要双击的控件关掉双击识别器。
  • 用脚本分别在 200/400/600 ms 抬起或第二次按下,核对按住是否在双击窗口耗尽前就能弹出菜单,且短点按不会先弹出。

延伸

  • 同组C3.25.2 阈值可能随用户设置或历史操作速度调整,而非全局固定 · C3.25.3 长按触发的每个功能都应有等效的非长按路径,如菜单项 · C3.25.4 长按与拖拽共享起始动作时,阈值也是两者判别的分界点
  • 相邻C3.03 长按 · C3.02 双击
  • 站内检索long-press timeout · double-tap interval · nested timeouts

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C3.25.1