E5.12.3menu depth limitdesign

More than two menu levels become hard to operate

Aliases: cascading menus · three-level menu

What it is

A dropdown with one submenu already asks the pointer to walk a corridor; a third level concatenates corridor onto corridor. More than two menu levels become hard to operate is not an aesthetic preference. Each added level multiplies steering, timing, and spatial memory. Two levels (root list plus one child) most people can still hold. From the third, pointer, gaze, and “how I got here” drop at once.

Why it happens

Every level must keep “the parent still armed, the child still open”. Two levels guard one parent–child pair; three must guard a chain: root, second, third. Any ring that goes out of bounds, or whose hover is stolen by a neighbouring item, collapses the chain and dumps the person from the end back to the origin. Gaze also has to jump among panels that sit further trailing (or further down), so names cannot be read in one vertical sweep. Working memory has to keep the labels along the path to rebuild it after a collapse; add a level and rebuild costs more than opening again.

In space, the third level often already hits the window edge and has to flip, so the corridor’s direction jumps. In time, if each level stacks its own open delay, wait to the end compounds into “the menu is thinking”. On touch, each level as a new screen turns the cost into a back stack, and people still lose the root at the third. Capping depth is capping the number of rings in this chain, not capping how much information exists — information can live in a panel, a filter, or search, without hanging it on a pointer corridor.

Where it stops holding

Expert tools (deep commands in a graphics app) let fluent users walk three levels, but that depends on stable location memory and a structure that almost never changes; newcomers and rare commands still fail at the third. Keyboard access with a right arrow into the child has a lower depth cost; keyboard success does not prove three pointer levels are usable. Turning the third level into a panel that opens on click (not a hover corridor) cuts steering failures, but it is still three hops cognitively and needs the path shown on the panel.

Applying it

  • Default cascading under a pointer to two levels. Further splits become a panel after open, a filter list, or search — not another corridor.
  • If legacy forces a third level, pin that level with a click; do not keep the whole chain alive on hover.
  • Show the path on a deep panel (root / second-level name) so collapse is recoverable.
  • How to check: give a task that must reach the third level and count mid-path collapses that force a restart. The same task recast as two levels plus a panel should drop that count. If newcomers can only finish with the keyboard, pointer depth is already over the line.

Related

  • Within the group: E5.12.1 Diagonal movement into a submenu is a constrained corridor · E5.12.2 Hover-open needs a delay to prevent misfires
  • Adjacent: E5.14 Command Palettes · E5.03 Sidebar Navigation
  • Search terms: cascading menu · menu depth · submenu

Cards in the same group

Quick Actions

Share

Share this page

ios_share

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