E5.12.3menu depth limit设计

层级超过两层难以操作

别名: 菜单过深 · cascading menus · 三级菜单

概念解释

下拉里再开一层子菜单,已经要穿过一条走廊;再开第三层,走廊要接上走廊。菜单超过两层就难操作(menu depth limit)不是审美偏好,而是每加一层就把转向、时机和空间记忆乘一次。两层(根列表 + 一层子)多数人还能稳住;第三层开始,指针、视线和「我从哪进来」会同时丢。

机制

每一层都要维持「父项仍被激活,子层仍开着」。两层只要守住一个父子对;三层要守住一串:根、第二层、第三层,任何一环出界或被路过的邻项抢走悬停,整串塌掉,人从终点被送回原点。视线也要在越来越靠右(或越来越靠下)的面板之间跳,名称不能在同一条垂直扫描里读完。工作记忆要记下走过的标签,才能在塌掉之后重建路径;层数一加,重建成本高于重新打开。

空间上,第三层常常已经顶到窗口边缘,只能翻转,走廊方向突变。时间上,每一层若还叠加自己的打开延迟,到达终点的等待会叠成「菜单在思考」。触屏把每一层做成新屏时深度代价改成返回栈,一样会在第三层让人忘了根在哪。所以限制深度是在限制这条操作链的环数,不是在限制信息量——信息可以放到面板、筛选或搜索里,不必继续挂到指针走廊上。

边界

专家软件(图形工具的深层命令)里,熟练用户能走三层,但那依赖稳定的位置记忆和几乎从不改的结构;新用户和偶尔使用的命令仍会在第三层失败。键盘访问按右箭头进子层,深度代价较低,不能拿键盘成功率证明指针三层可用。把第三层改成点击后出现的面板(而不是悬停走廊)可以降低转向失败,但认知上仍是三跳,需要在面板上显示来路。

怎么落地

  • 指针驱动的级联默认最多两层;需要再分时,把第三层改成打开后的面板、筛选列表或搜索,而不是再挂一条走廊。
  • 若历史包袱必须留三层,第三层用点击钉住,不要靠悬停维持整串。
  • 在深层面板里显示来路(根 / 第二层名称),塌掉之后才找得回去。
  • 验证:给一个必须走到第三层的任务,记录中途塌掉重来的次数。同一任务改成两层加面板后次数应下降。新用户若只能靠键盘完成,说明指针深度已经超了。

延伸

  • 同组E5.12.1 子菜单的斜向移动是受限通道 · E5.12.2 悬停打开需要延迟以防误触
  • 相邻E5.14 命令面板 · E5.03 侧边栏导航
  • 站内检索cascading menu · menu depth · submenu

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/E5.12.3