F1.01.3action scope设计研究

同一控件作用于多个对象时必须标明范围

别名: 作用范围 · 批量选择 · selection scope

概念解释

邮件列表那颗「归档」只占一个位置,这一次它可能吃掉当前这封,也可能吃掉勾上的四十封。控件离任何一封邮件的远近都答不上「范围是谁」。一对多的时候,位置不再是映射通道,必须另标作用范围(action scope):谁在集合里、集合有多大、这次会被动到。

按钮上写着「删除」也救不了——用户以为范围是眼前这一行,实际是整页勾选。失败出在集合,不出在动词。

机制

邻近是成对线索,编码「A 属于 B」。集合的成员数是可变的,成员还可以彼此离很远(跨页勾选、跨文件夹)。没有任何一个空间位置能同时贴着这个可变集合的所有成员,所以范围要换变量来写:选中计数、全选复选框的不确定态、对象上的勾、动作文案里的数字(「删除 12 项」)。

范围还会在用户不看的时候被改写。搜索结果里的「全选」有时是当前页二十条,有时是匹配的三千条,两个集合却常常占用同一个勾选控件。选中标记一旦滚出视口,集合在感知上就收缩成「我看得见的那几行」。

怎么研究

范围误判任务:给一份已经有部分选中的列表,让人先预测按钮会作用到哪些行,再真正执行(可撤销)。

自变量:是否显示选中计数、文案是否含数量、全选是页级还是结果级、选中项是否仍在视口内。 因变量:预测集合与真实集合的重叠、漏报(没意识到会被动到的项)、误报(以为会被动到其实不在集合里的项)。

必须包含「选中态滚出视口」这一档——这是范围错误的高发条件,只测当前屏会把问题测没。

边界

始终作用于「当前这一个」的控件(行内收藏、当前单元格的格式)不需要范围条,对象就是那一个。查找替换默认吃整个文档、且用户已经有这个心智模型时,计数仍有用,但不必在每个匹配项上画圈。看不见高亮的辅助技术用户,范围必须进按钮的可访问名称(「归档 12 封」),只靠视觉勾选不够。集合大小到几百时,逐项高亮会变成噪声,计数和抽样预览比铺满勾选更可读。

怎么落地

  • 批量动作旁固定写出当前集合大小,文案带数量;集合为空时把动作禁用,而不是点了没反应。
  • 被包含的对象保持可见的选中标记。标记滚出视口时,在动作旁留一句「已选 N,部分不在当前屏」。
  • 「本页全选」和「匹配项全选」不要共用一个勾选控件,用分开的命令或二次选择说清集合。
  • 验证:布置三种状态——只选一行、选中项被滚走、全选跨页——执行前问「哪些东西会消失」。三种都能说对,范围才算被标清。

延伸

  • 同组F1.01.1 控件与其作用对象的距离决定关系是否可推断 · F1.01.2 距离过远时需要显式的指向或高亮
  • 相邻D1.03 选中态与高亮 · E3.01 复选框
  • 站内检索action scope · selection scope · bulk action

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/F1.01.3