Local navigation serves the current branch
Aliases: section nav · in-branch nav · subsection menu
What it is
Once someone is inside Support, the next moves are among FAQ, tickets, and warranty—not another hunt through site-wide destinations. Local navigation serves the current branch: it lists that node’s children and nearby siblings, scoped to the current subtree, for wayfinding inside the branch, not for changing branches. Changing branches still goes through global nav.
Local navigation changing its contents when the branch changes is its job, not an inconsistency. On entering another branch it should replace the whole set with that branch’s children, not leave the previous branch’s children in place.
Why it happens
Once a branch is chosen, the decision space shrinks from the whole site to that subtree. Local navigation externalizes the shrink: the option set equals the legal next steps from the current node, and scent is computed relative to this branch. If the local region still mixes in entries from other branches, the shrink is undone and people must discriminate at site scale again. If the local region is empty, in-branch movement has to return to global nav and drill again, which refuses to acknowledge that a branch was already chosen.
Sidebars, secondary bars on section pages, and a documentation in-page toc all serve “the current subtree.” Their lifetime follows the branch: leave it, and the set should vanish or be replaced by the new branch’s set. Residue creates false scent—“Tickets” still in the sidebar makes people think they are still in Support. Local navigation is therefore both the in-branch road and evidence of “you are still on this branch.”
Studying it
Score along-branch tasks and branch-changing tasks separately, and see which kind local nav actually helps.
- Paradigms: find two different pieces inside one section (should use local), then jump from that section to another top-level section (should use global). Compare with and without a sidebar or secondary nav.
- Independent variables: whether local options contain only the current subtree, whether local nav replaces on leaving the branch.
- Dependent variables: clicks on in-branch tasks, mistaken use of a local entry to change branches, clicks on residue from the previous branch after leaving.
- Methodological note: turning local nav into in-page anchors for the current article will make in-branch tasks look successful, but the entries all change when moving to another leaf in the same branch—that is a document toc, not branch navigation. Use same-branch, different-leaf tasks to tell them apart.
Where it stops holding
A flat site has no subtree, so local navigation has nothing to serve. An in-page toc for a long article serves document scrolling, not an IA branch. Permissions may prune the subtree; absence of unauthorized children from the local roster is correct. In-app actions on the current object (share, delete) are not local navigation; those are object actions and should not share a row with subtree entries.
Applying it
- Give every section that has children a local region: only that section’s children and necessary siblings, no other top-level destinations.
- On entering another section, replace the local set wholesale; do not leave the previous set fading on the next page.
- Title the local region with the current branch’s name so scope is readable, not a generic “Menu.”
- Verify by screenshotting the sidebar in Support, then the same region in Products. The two rosters should not intersect (except global items). Then run a task completable only inside Support with global nav off and local on: it should still complete; the same task in Products should not—that is the test that local nav is actually serving the current branch.