E4.04.2frozen leading column设计研究

横向滚动时首列需固定

别名: 冻结首列 · 行标题列 · 横向滚动定位 · sticky first column

概念解释

表格向右滑时,标识这一行是谁的那一列如果跟着走掉,剩下的单元格就失去主语。冻结首列(frozen leading column)让行的名称、编号或对象名留在视口左边,只有其余属性列移动。它保的是「这是哪一条」,与表头保列名是正交的两件事:一个管行身份,一个管列身份。

机制

一行是「对象 + 一组属性」。横向滚动把属性依次送进视口,对象列一旦离开,属性就变成无主数据——用户必须记住「我现在看的是第三行」,再把滑进来的数字挂回那个名字上。行一多,这个挂钩就断。冻结首列把对象名做成行方向的锚,滑动只改变正在比较的属性,不改变正在看的是谁。被冻的必须是真正的识别字段;冻一列序号或冻一列状态,名字仍会滑走,锚就钉错了地方。首列变宽会吃掉属性列的视口,比较窗口变窄,所以锚只要放得下识别字段,不应再塞摘要。表头若不同时固定,滑到远端列时仍会不知道这一列是什么——两种冻结要一起在场,但机制各自独立。

怎么研究

在宽表上做「读出指定对象在远端列上的值」和「比较两个对象在同一远端列上谁更大」。一组首列随滑动离开,一组首列冻结。记录张冠李戴(把 A 的值安到 B 上)、为确认行名而滑回左侧的次数。自变量:行数、识别字段长度、远端列与首列的距离。因变量:对象身份错误、水平往返距离。可与表头是否固定做析因,以确认两种错误(错列 / 错行)是否真的可分离。

边界

列很少、无需横向滚动时,冻结没有对象。识别字段若已被卡片化到每张卡的标题上,不存在「滑走的主语」。冻错列(冻了复选框却让名称滑动)比不冻更迷惑,因为左边那条稳定的边框在暗示「锚在这里」,锚却是空的。从右往左的界面里,识别列在视觉右缘,应冻的是那一侧的领先列,而不是物理上的第一列。合并单元格跨行时,冻结首列会把跨行名称截成只看见一半,需要按逻辑行来冻,而不是按绘制行。

怎么落地

  • 指定哪一列是行的识别字段,只冻这一列;复选框可与它锁在一起,但不要只冻复选框。
  • 冻结列与滑动列在衔接处要有分界,避免单元格内容从锚下面穿过去造成错读。
  • 识别字段过长时截断尾部并在悬停或详情里给全文,不要让冻结列吞掉大半视口。
  • 验证:滑到最右侧,问「这一行是谁」。要滑回左边才能回答,就是主语没被冻住。

延伸

  • 同组E4.04.1 纵向滚动时表头需固定 · E4.04.3 横向可滚动需要显式的视觉提示
  • 相邻E4.03 表格 · E4.02 列表项
  • 站内检索frozen column · row header · horizontal scroll

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/E4.04.2