行内操作与整行点击的优先级需明确
别名: 整行点击 · 行内按钮优先级 · 列表默认动作 · list row actions
概念解释
列表行常常同时提供两套动作:点行的空白进详情,以及行尾的删除、钉住、更多。行打开与行内动作的优先级(row-action versus row-open precedence)问的不是命中区怎么画,而是这条行的默认任务是哪一个。用户带着「打开」进来却触发了钉住,或带着「处理」进来却每次都先被送进详情,都是优先级没说清。卡片上的嵌套点击是几何冲突;列表行上的问题是模板级的默认承诺——每一行都在重复同一个没讲明白的主任务。
机制
列表是重复模板。人扫过两三行就会把「点哪里会发生什么」固化成习惯,不再逐行阅读图标。若视觉权重把整行画成可点表面,行尾图标就会被当成装饰;若行尾按钮用高对比色块,整行可点的承诺就会被忽略。滑动揭示动作把优先级改到手势通道上,点按仍被理解为打开,这是一种把两套动作分到不同通道的办法;若点按和滑动都指向打开,行内按钮就变成盲区。选择模式下优先级必须整体切换:复选框出现后,点行应改成选中而不是打开,否则批量任务会被详情页不断打断。屏幕阅读器按控件顺序播报,若「打开」和「删除」没有名称上的主次,听者会把第一个链接触发成默认,即使视觉上默认是整行。
怎么研究
给同一列表三种优先级方案——点行打开、点行选中、点行无动作仅按钮可点——让被试分别完成「找到并阅读详情」和「把三条标为已处理」两类任务。记录错误动作、任务切换次数、以及习惯形成后(第三屏之后)的错误是否下降。自变量:默认动作、行尾按钮数量、是否进入选择模式。因变量:意图动作命中率、从详情返回再操作的次数。访谈里问「你以为点空白会怎样」,比问满不满意度更能暴露默认承诺。
边界
只读列表没有行内动作,优先级问题不存在。桌面端悬停才显示行内按钮时,默认承诺随指针进入才出现,静止扫描阶段用户仍按整行打开来理解,两套习惯在时间上错开,冲突较轻。触屏没有悬停,两套动作必须同时在场,优先级更硬。无障碍开关控制和语音控制没有「点空白」,每个动作都是点名触发,必须靠名称而不是位置表达主次。
怎么落地
- 为每一种列表写下一句默认承诺:「点行 = 打开 / 选中 / 什么也不做」。选择模式要显式改写这句承诺,并改变行的外观。
- 行内只保留与默认承诺不打架的一到两个动作;更多动作放进溢出菜单或详情,避免在同一行上并列三个同等按钮。
- 用通道分离:点按打开、滑动处理,或反向,但同一通道不要既打开又处理。
- 验证:请人在不讲解的情况下处理五条、再打开五条,统计有多少次先做错再纠正。每一种列表模板都要分开测,不要假设收件箱的习惯能搬到设置页。