H1.14.1predictable conditional field reveal设计研究

条件字段的显隐规则需对用户可预期,不能突然消失或新增

别名: 条件显隐 · 动态字段 · unexpected reveal · 字段突然出现

概念解释

勾选「需要发票」之后出现抬头,选「其他」之后出现说明框,这是条件字段。规则要对用户可预期:人在做那个选择时就能猜到会多问或少问什么,字段的出现或消失跟选择在同一视口、同一拍发生。突然指的是:选择发生在屏幕外的结果、延迟几秒才插入、或改了一个看似无关的下拉却把已经填过的整块抽走。隐藏后的值还交不交、阅读器顺序会不会乱、分支套太深难不难维护,是后面三步。

机制

人用当前可见的字段集合当任务地图。条件插入等于改地图。若改动能被选择的语义预告(「需要发票」预告发票块),地图更新被理解成因果。若改动无法预告——选了国家之后半秒,屏幕下方冒出三个从未提过的税号框——人会当成页面出错或自己点错了。第二层是消失比出现更伤:出现是加问,消失是把已经付出的答案和空间锚一起拿走。人还记得「那一项在下面」,滚动去找却没有了,会改别的项来补偿,或反复开关那个条件。动画拖得很长、或插在离选择很远的折线以下,因果链在工作记忆里已经断了。可预期要的是:选择、后果、位置三者能被同一眼看见。

怎么研究

让人在选某个选项之前先预测「接下来会怎样」,再看实际显隐。比较即时就近插入、延迟插入、在折线以下插入、把已填块抽走。

自变量:显隐延迟、插入位置相对触发控件的距离、消失的块是否已有填值、触发文案是否预告后果。 因变量:预测命中、把显隐当成故障的次数、寻找消失字段的滚动、反复开关条件。

实验室里任务短,延迟 300ms 可能看不出。要用必须滚动的长表。不要把阅读器播报乱序算进「不可预期」——那是朗读顺序问题。

边界

法律或风控要求的突然插入(选了某国才允许某种声明)可以不预先剧透内容,但仍应就近、即时出现,并带一句「因你的选择需要补充」。服务端计算才能决定显隐时,要先给出「正在根据选择更新」,不能空白等待后猛插。打印件没有动态显隐。专家把条件当快捷键用,瞬时抽走未保存块仍会激怒他们——专家也需要因果,只是不需要教学文案。

怎么落地

  • 触发条件的文案写清后果(「需要发票,将询问抬头」),显隐在同一视口紧挨触发控件发生,不要等滚动或等接口默默插入。
  • 不要抽走已经有填值的块除非人明确取消该条件;取消时先确认或就地把值收进可再打开的折叠。
  • 接口延迟时用就地的「正在更新这份表」,更新完成把新字段放在触发点下方。
  • 验证:在点击前问「会怎样」,再点,看字段是否出现在所猜位置。把已填的发票块因改国家而删掉,作为不可预期的反例。把插入放到折线以下延迟两秒,确认因果说不清。

延伸

  • 同组H1.14.2 已填内容的字段被隐藏时需明确其数据是否仍会提交 · H1.14.3 动态显隐会打乱屏幕阅读器的线性朗读顺序 · H1.14.4 过多层级的条件分支会让表单逻辑难以调试与维护
  • 相邻J4.11 一致性与可预测性作为认知支持 · H1.02 字段顺序与分组 · E4.07 折叠面板
  • 站内检索conditional fields · progressive disclosure · predictability

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/H1.14.1