选中态与悬停态必须可区分
别名: selection state · hover state · persistent state · transient state
概念解释
选中态(selected state)表示对象已经被纳入当前选择、范围或持久视图;悬停态(hover state)只表示指针此刻经过,离开即可消失。两者都可能让元素看起来突出,却回答不同的问题:前者是「什么已被定下」,后者是「我正指着什么」。如果同一种底色、描边或浮层同时承担两种含义,用户无法判断移动鼠标是否会改变结果,也难以知道已经选择了哪些对象。
机制
用户从视觉状态推断操作后果。悬停是瞬时的、探索性的,常用来预览可点击性或显示额外信息;选中是可持续的、可被后续命令消费的,通常跨越指针移动与焦点转移。外观相同会把瞬时知觉误当成持久系统状态,尤其在列表、地图和工具栏中:用户移开指针后可能误以为选择丢失,或把悬停的项目当作会被删除、分享或批量编辑的目标。状态语义不清还会让键盘和触屏用户缺少等价理解。
怎么研究
让参与者完成「悬停查看—移动离开—选择—执行命令」的序列,询问每一步哪些对象会受命令影响,并记录错误目标、犹豫和撤销。比较相同与区分明确的状态样式时,应控制项目密度、指针速度、单选或多选,以及命令是否有后果。静态偏好评审不足以验证差异:需要在指针频繁跨过已选对象、焦点发生转移以及工具提示出现的动态条件下观察解释是否稳定。
边界
某些控件没有可持续选择语义,悬停不必硬造一个选中态;反之,触屏和键盘操作不具备鼠标悬停,不能把关键说明只放在悬停变化中。视觉差异也不能只靠一种感知维度,且不应使两态看起来像两个无关组件。复杂编辑器可能还有焦点、活动项、预览和禁用等状态;此时应先定义每种状态对命令的实际作用,不能把所有突出都叫作「高亮」。
怎么落地
- 写清每种突出样式的生命周期与命令后果:指针离开是否消失、切换焦点是否保留、批量命令会作用到谁。
- 令选中态带有跨输入方式保留的显著线索,悬停态则只提供短暂探索证据;两者在同时出现时仍须可读。
- 为触屏与键盘提供能获得相同信息的替代路径,例如已选清单、焦点标记或显式预览,不依赖 pointer hover。
- 用真实批量操作测试,让用户在移动指针后预测命令目标;任何把悬停对象误当选中对象的情况都应回到状态设计修正。