A11.03.7Debounce and mis-tap filtering for hand tremor设计

手部震颤与点击防抖、误触过滤

别名: 点击防抖 · 误触过滤 · touch debounce

概念解释

这条讲界面层面应对手部震颤和不自主抖动的具体交互处理——点击防抖、误触过滤、拖动容差这几种手段该怎么配置,不涉及震颤本身的生理频率和幅度,那部分机制属于运动控制的范畴。

机制

手部震颤在触控操作里主要造成两类干扰:一是手指落下瞬间的微小抖动导致连续触发多次点击,本该点一下却被系统记录成两三次;二是手指在按住或滑动过程中的抖动幅度超过手势判定的容差,导致本该是点击的动作被误判成拖动,或者本该是直线滑动的手势被中途打断。界面如果不做任何处理,会把这些生理性抖动当成用户主动做出的多次操作或不同的手势,产生大量非预期结果。

边界

防抖窗口和容差范围不能无限增大——窗口设置过长会拖慢正常用户连续快速点击(如翻页、游戏)的响应速度,容差设置过大会让想做快速连续点击或精细拖动的用户觉得界面迟钝、不跟手。这条适配需要按具体交互场景的正常操作频率来定参数,不能用同一套激进的防抖参数套用到所有交互类型上;也不是所有老年用户都存在明显震颤,对手部控制未受影响的用户,过度的防抖延迟反而会让界面显得反应慢。

怎么落地

  • 对同一位置的连续点击设置一个短暂的防抖合并窗口(常见范围在几十到一二百毫秒),窗口内的重复触发合并为一次,避免误判为双击或连续点击;
  • 拖动或滑动手势的启动设置一定的位移容差,让手指按下后的小幅度抖动不会立即被判定为拖动,只有超过阈值的位移才触发拖动;
  • 涉及长按或需要保持按压的操作,允许手指在按压范围内小幅移动而不中断按压状态,不要求绝对静止;
  • 验证办法:让手部有轻微震颤的真实用户完成一组点击、长按、滑动任务,统计误判为双击、误判为拖动、按压意外中断的次数,逐项收窄到可接受范围;调整参数后同时用正常操作速度的用户复测,确认没有引入明显的响应迟滞。

延伸

  • 同组A11.03.2 目标尺寸与目标间距同时放大 · A11.03.1 最小字号与用户可调字号的支持
  • 相邻A8.15 生理性震颤 · A8.16 病理性与意向性震颤
  • 站内检索touch debounce · tremor filtering · dwell time

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/A11.03.7