E4.17.1list section headers as structure设计研究
分组标题帮助用户理解长列表的内部结构
别名: 列表分组 · 分组标题 · 长列表结构 · section header
概念解释
长列表一旦超过一屏,条目之间的类别关系很难从逐行扫描里长出来。分组标题(section headers)在列表内部插入一类不是条目的行,用来命名接下来这一段属于什么:今天、未读、某个字母、某个项目。它给的是结构地图,不是一条可点的记录。没有这些标题,一百行是一条平的河;有了它们,河被标出河段,扫描可以按段跳。
机制
人在长列表里找东西时,先定位「在哪一类」,再在类里比条目。类若只存在于排序键里而不画出来,定位必须靠读很多行来归纳——「这些好像都是上个月的」。标题把归纳做成可见的断点,工作记忆不必自己维护类别。标题要长得不像条目:字号、字重、背景或位置与行不同,否则会被点成一条记录,结构线索变成噪声。分组依据必须是用户用来找的那个维度;按内部 id 分组对查找没有帮助。标题还切出可跳转的地标,字母索引、侧边时间槽才能对得上。结构是给扫描用的,不是给数据模型用的:模型里有嵌套不等于列表上要出现五级标题。
怎么研究
同一长列表,有分组标题与无分组标题,任务是「找出某类里的某条」和「说出这份列表是按什么组织的」。自变量:标题是否可见、分组维度是否与任务一致。因变量:定位时间、组织方式的正确描述、把标题点成条目的次数。维度与任务不一致时(按创建者分,任务却按日期找),标题会帮倒忙。
边界
列表本来就短、类别只有一个,标题是空开销。表格用列来表达类别,行分组是另一套;不要把表头和列表分组标题混成一种东西。搜索结果已经是查询命中,再按原集合的类别硬分组,会把命中拆散。屏幕阅读器需要标题被标成标题或组,否则结构只对眼睛存在。
怎么落地
- 按用户查找时真正使用的维度分组,并让标题说出该维度的值。
- 标题行在样式上离开条目,且不可点成记录。
- 只保留对扫描有用的一层分组,不要把数据树全铺成标题。
- 验证:遮住条目只看标题,能否讲出列表的骨架。讲不出,标题就还没在承担结构。