E5.08.1explicit load more设计
显式加载保留用户控制与页脚可达
别名: 加载更多 · load more control · 显式追加
概念解释
加载更多(load more)是列表当前批次的末尾一枚明确按钮:下一批只在人点下去之后才追加。它把「要不要继续」交还给用户,并在两次点击之间留下一个真正的文档终点,页脚因此可以进入视口。这与自动无限追加的差别不在视觉样式,而在追加有没有门闩;也与分页不同——它不给第 n 页这个坐标,只给「再要一批」这个决定。
机制
自动追加把滚到接近底部当成同意继续;显式按钮把同意说成一次独立动作。没点之前,列表是有限文档,滚动条有头,页脚、法律链接和「没有更多了」都可以落在按钮后面被看到。用户可以读完这一批就走,不必和自动涌入的下一批抢注意力。控制感来自门闩,不是来自按钮上的文案:一个看起来像按钮、滚到附近却自动触发的控件,门闩是假的。
因为不要坐标,它也不假装「你在第几页」。它保留的是停得下来、以及末尾的东西够得着。对需要偶尔看完一批、偶尔去页脚、又不想维护页码的中等长度目录,这套取舍成立。门闩还有一个副作用:继续的成本被感知为一次点击,人会更早问自己「还要不要」——这对检索和对照是优点,对靠延长停留的信息流是减益,选择时要把这个效应算进去。
边界
批次极短、几乎每次都要点时,显式门闩会变成体力活,人们会嫌烦并改用能自动走的形式。实时流(聊天、行情)不能等人批准下一条。无障碍上,按钮必须是真正的按钮且追加后把焦点留在合理位置(新内容开头或按钮本身),否则控制只对鼠标成立。若点了之后没有更多却仍显示按钮,控制感会变成欺骗。
怎么落地
- 把下一批的触发做成必须激活的控件,不要用滚入视口顶替点击。点之前列表后面要真的能滚到页脚或「已全部加载」。
- 追加进行中禁用按钮并说明正在加载;结束后若还有下一批,按钮仍在新的末尾;若没有了,用明确终点替换按钮。
- 追加完成后不要把焦点扔回文档顶端;至少让键盘用户知道新内容从哪开始。
- 验证:不点击按钮,只滚动,应能到达页脚或终点文案。再点一次,应只增加一批且仍能滚到新的末尾。任何「快滚到底就自己加载」都把门闩拆了。