E5.12.3menu depth limit设计
层级超过两层难以操作
别名: 菜单过深 · cascading menus · 三级菜单
概念解释
下拉里再开一层子菜单,已经要穿过一条走廊;再开第三层,走廊要接上走廊。菜单超过两层就难操作(menu depth limit)不是审美偏好,而是每加一层就把转向、时机和空间记忆乘一次。两层(根列表 + 一层子)多数人还能稳住;第三层开始,指针、视线和「我从哪进来」会同时丢。
机制
每一层都要维持「父项仍被激活,子层仍开着」。两层只要守住一个父子对;三层要守住一串:根、第二层、第三层,任何一环出界或被路过的邻项抢走悬停,整串塌掉,人从终点被送回原点。视线也要在越来越靠右(或越来越靠下)的面板之间跳,名称不能在同一条垂直扫描里读完。工作记忆要记下走过的标签,才能在塌掉之后重建路径;层数一加,重建成本高于重新打开。
空间上,第三层常常已经顶到窗口边缘,只能翻转,走廊方向突变。时间上,每一层若还叠加自己的打开延迟,到达终点的等待会叠成「菜单在思考」。触屏把每一层做成新屏时深度代价改成返回栈,一样会在第三层让人忘了根在哪。所以限制深度是在限制这条操作链的环数,不是在限制信息量——信息可以放到面板、筛选或搜索里,不必继续挂到指针走廊上。
边界
专家软件(图形工具的深层命令)里,熟练用户能走三层,但那依赖稳定的位置记忆和几乎从不改的结构;新用户和偶尔使用的命令仍会在第三层失败。键盘访问按右箭头进子层,深度代价较低,不能拿键盘成功率证明指针三层可用。把第三层改成点击后出现的面板(而不是悬停走廊)可以降低转向失败,但认知上仍是三跳,需要在面板上显示来路。
怎么落地
- 指针驱动的级联默认最多两层;需要再分时,把第三层改成打开后的面板、筛选列表或搜索,而不是再挂一条走廊。
- 若历史包袱必须留三层,第三层用点击钉住,不要靠悬停维持整串。
- 在深层面板里显示来路(根 / 第二层名称),塌掉之后才找得回去。
- 验证:给一个必须走到第三层的任务,记录中途塌掉重来的次数。同一任务改成两层加面板后次数应下降。新用户若只能靠键盘完成,说明指针深度已经超了。