E4.06.3deep-tree search and path supplement设计研究

深层节点需要面包屑或搜索作为补充

别名: 树搜索 · 深层定位 · 树面包屑 · tree find

概念解释

缩进再清楚、展开记得再牢,到了第四、第五层,到达一个已知节点仍要穿过一条很长的父链。深层补充通道(deep-tree search and path supplement)是在树旁再给一条不靠逐层点开的路:搜索直达节点,或用面包屑显示当前从根到此的路径。树仍负责展示包含关系;补充通道负责「我已经知道要去哪」和「我现在在哪」这两句,不负责把层级画得更可辨。

机制

沿树到达是一条强制的父到子路径,每一步都消耗一次定位和一次展开。节点总数按分支因子指数涨,路径长度按深度线性涨,但每一步的搜索空间是同级兄弟,深层兄弟一多,每一步都变慢。用户若已经持有节点的名字,这条路径就是多余的仪式。搜索把到达从「遍历」改成「查询」;面包屑把「我在哪」从必须靠左缘推算,改成一条可读的祖先链。两者都不替代树:没有树,查询结果没有位置;没有补充通道,树把所有到达都收成步行。补充通道必须能把结果定位回树里(展开祖先、滚到节点),否则搜索打开的是另一份名单,和这棵树脱节。

怎么研究

给两组用户同一棵深树,一组只能点开节点,一组另有按名搜索和路径条。任务分两种:按包含关系找「某类下的子项」,以及按已知名称跳到节点。自变量:深度、分支因子、搜索是否回显到树。因变量:到达时间、展开次数、错误地停在同名异处节点的次数。按名任务在无搜索条件下应随深度明显变慢;按结构任务则未必,因为结构任务本就该走路。

边界

浅而窄的树加上搜索是噪音,面包屑也只是重复已经看得见的两级。搜索若只过滤可见节点、不打开被折叠的祖先,会制造「找不到明明存在的项」。同名节点在不同父下时,搜索结果必须带路径消歧,否则补充通道会把人送到错误的那一处。无障碍用户已经在用树的层级键盘导航时,搜索仍有价值,但跳转后焦点必须落到命中节点,而不是落到搜索框。

怎么落地

  • 在可预期有深层到达的树上提供按名查找,命中后展开祖先链并选中该节点。
  • 在当前节点旁显示从根到此的路径,路径每一段可点,用来上跳而不是再从根走一遍。
  • 同名命中列出所属父路径,禁止只回一条「最热」的结果。
  • 验证:说出一个藏在四层下的名字,看不靠逐层点开能否到达,到达后能否说出它的祖先。两问有一问失败,补充通道就还没接上树。

延伸

  • 同组E4.06.1 层级缩进的可辨识度随深度下降 · E4.06.2 展开状态需在会话内保持
  • 相邻E5.05 面包屑 · E5.14 命令面板 · E3.17 选项内搜索与过滤
  • 站内检索tree search · breadcrumb path · hierarchical find

同组卡片

快捷操作

分享

分享当前页面

ios_share

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