C3.14.2Back stack versus up navigationdesignresearch

Back-stack semantics are not the same as “up one level”

Aliases: up versus back · hierarchy up · history stack

What it is

A back gesture pops the previous frame on the visit history stack: you return to wherever you came from, even if that frame is not a parent in the information architecture. The nav-bar up walks the structural parent, whether you arrived from search, a notification, or a deep link. Both are called “go back.” A stack and a tree are not the same road. If the gesture implements one and the chrome implies the other, people land somewhere they do not recognize.

Why it happens

A stack is loyal to time: A → search hits → detail, and back from detail should return to search hits. A tree is loyal to structure: the detail’s parent may be a category home, so someone who entered from a notification and presses up lands on a category they never visited. Android long bound the system back key to the stack and the toolbar arrow to up; iOS edge-back usually also walks a controller stack, but deep links can reset that stack. The web’s history.back is a stack; breadcrumbs are a tree. Because the gesture is invisible, people cannot tell which they are committing until the resulting page teaches them after the fact. Predictive back that previews the stack top and then, on lift, walks the parent is a lying preview.

Studying it

Reach the same detail by two routes: tap in from a parent list, or from global search or a notification. Ask people to leave with the back gesture. Record whether they land on the search/notification source or the parent list, and what they expected to say. Contrast toolbar up with gesture back. Cold-start deep links (app not in background) should be listed separately: the stack may have one frame, and back exits the app instead of returning to a parent.

Where it stops holding

A linear wizard has no tree, so stack and up coincide. A single-page app that pushes every state onto a fake stack will spin inside the page, and the tree is unreachable too. Some products deliberately make the gesture walk the parent to avoid returning to a stale search session. That is a product policy and must be shown in the preview, not a silent rewrite of the stack.

Applying it

  • Gesture back walks the history stack. When “go to parent” is needed, use a visible up or breadcrumbs. Do not let the same edge slide sometimes pop the stack and sometimes jump the tree.
  • On a deep link whose stack bottom is the current page, back should exit to the system desktop or the previous app, not invent a parent the user never visited.
  • Open a detail from a notification and edge-swipe. You should return to the pre-notification context (or leave the app), not jump to the IA parent category. If the preview card draws the parent category, preview and stack disagree.

Related

  • Same group: C3.14.1 Back-gesture direction is bound to platform convention · C3.14.3 A back gesture must have a visible fallback entrance
  • Adjacent: C3.13 Edge swipe gestures · C3.05 Swipe
  • Search: back stack · up navigation · information architecture

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/C3.14.2