界面在该窗口内改变目标会造成必然误击
别名: double-step target paradigm · 双步目标范式 · 目标偷换 · 列表重排误触
概念解释
用户已经朝着某个位置发起了点击或轻触,就在手指落下之前,那个位置上的内容被替换、挪动或移除——这种情况下,手指几乎总会落在原来的位置,命中的是新换上来的内容,而不是用户原本想点的东西。这不是用户"没看清"或"手滑",而是动作一旦越过启动的临界点,落点就已经由更早设定好的目标参数决定,界面在这之后再改变目标,动作也无法跟着重新瞄准。
机制
一次指向动作的落点,是根据目标出现时的位置提前编排好的;越过不可取消窗口之后,这套参数已经不再接受修改。如果目标在窗口关闭前的极短时间内发生了位移,视觉系统确实能感知到这个变化,但感知到变化和把这个变化重新编入正在执行的动作参数是两件事——后者需要走完一整条"感觉—比较—生成新指令—传导到肌肉"的链路,如果剩余时间不够这条链路走完,动作只能带着旧参数落地。目标挪动得越晚、留给重新编排的时间越短,落在旧位置的概率就越接近百分之百。
怎么研究
研究这个现象的经典做法是让目标在动作发起之后的某个时间点突然跳到新位置,系统性改变"跳动发生的时刻"相对于动作开始的延迟,观察手指或光标最终落点跟随新位置还是停留在旧位置。当跳动发生得足够早,被试能顺利重新瞄准新位置;当跳动发生得足够晚,落点几乎总是停在旧位置附近,两者之间存在一个转折延迟,这个转折延迟就是该动作实际可用于重新编排的时间上限。
边界
这个转折延迟因动作速度、目标跳动的距离和方向而不同,不存在适用于所有交互形式的统一数值;动作越快、越短促,可用于重新编排的时间窗越窄。此外,实验室里的目标跳动通常是研究者精确控制的单次位移,而界面里造成误击的位移来源五花八门——加载完成后的内容重排、动画过渡中的位置变化、以及用户操作触发的连锁刷新,这些位移发生的时刻往往不受设计者精确控制,很难像实验室那样预先设定安全的位移时机。
怎么落地
- 任何可能在用户已经发起点击但尚未落下的极短时间内发生的内容位移——列表因新数据到达而重排、按钮因状态变化而挪位、加载完成后弹出新元素——都应避免让它们出现在用户手指已经离开静止状态之后的这一小段时间内;技术上可以通过冻结即将被点击区域的布局、延迟位移到手指抬起后再生效来规避。
- 对于删除、发送这类后果较重的操作,不要把触发它的控件放在容易因页面刷新而被替换的位置,一旦该位置上的内容因为不相关的原因发生了切换,用户原本瞄准安全操作的手指会精确落在新换上来的危险操作上。
- 验证办法:录屏回放用户点击时刻前后两三帧的界面状态,专门检查目标控件是否在手指落下前的极短窗口内发生了位置或内容变化;凡是查到这类变化紧邻误触发生,就是这一机制在起作用,需要从时序上隔离刷新与点击。