窄屏下需退化为前后两页
别名: 主从窄屏 · 分栏退化 · 两页主从 · stacked split view
概念解释
两栏同时在场需要水平分辨率。视口窄到列表识别字段和详情都放不下时,主从应退化成先后两页(sequential degradation):先是完整列表,点一条再进完整详情,而不是把两栏挤成各一半。挤在一起的假主从两边都不可用,比老老实实变成导航栈更糟。这条讲的是结构怎么换,不讲返回时滚动位置怎么记。
机制
主从的好处来自「集合与对象同时可见」。窄屏上强行同时可见,列表列宽掉到截断识别字段、详情列宽掉到表单不能填,同时可见变成同时不可用。人的知觉并不会因为「布局上还叫主从」就补上被裁掉的字。退化承认这个前提失效,改用时间换空间:列表页给足宽度,详情页给足宽度,上下文从「余光里的邻条」改成「返回后的列表页」。代价是换条要进出栈,这是窄屏付得起、也付得比较值的。半宽两栏看起来还保留了桌面结构,实际把两种任务的最低宽度都破坏了。折叠屏、分屏窗口的宽度会在使用中途穿过这条阈值,退化必须是可逆的布局响应,而不是安装时选定的一种形态。
怎么研究
在逐渐变窄的视口上做同一巡检任务,比较「始终两栏」、「到阈值改为两页」、「始终两页」。测量识别字段截断、表单可否完成、换条时间、错误操作。自变量:视口宽度、退化阈值、两栏最小宽度。因变量:任务完成率、截断导致的选错。应能观察到一段宽度里两栏完成率骤降、两页完成率仍高,那就是该退化的区间。
边界
平板横屏、桌面窗口仍宽时不要提前退化,否则无故丢掉同时在场的上下文。只读、字段极少的详情(一行预览)在窄屏上也许仍能并排,阈值应按内容测,不要按设备类型一刀切。把详情做成底部抽层而不是后一页,属于另一种窄屏结构,抽层会盖住列表下半,上下文只剩上半,和完整两页不是同一条退化。
怎么落地
- 为列表栏和详情栏分别标出最低可用宽度,视口小于两者之和就改为栈式两页。
- 退化后详情占满视口,列表离开;不要留一条瘦到只剩头像的「主栏」冒充还在主从。
- 宽度重新变够时回到两栏,选中项与详情对齐,而不是停在单页栈里。
- 验证:在目标窄屏上读完识别字段并填完详情里的必填项。任一栏做不到,就还在假主从里。