skills/sidebar/SKILL.md
Use when you need to organize and structure site navigation.
npx skillsauth add thedaviddias/ux-patterns-for-developers sidebarInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Organize and structure site navigation
Sidebar is a persistent vertical navigation panel positioned along the left or right edge of the screen, providing access to the main sections and features of an application. Sidebars are the dominant navigation pattern in dashboards, admin panels, documentation sites, and complex web applications. Unlike horizontal navigation menus, sidebars accommodate deep hierarchies through nested, collapsible sections while keeping all navigation visible and accessible without obscuring page content.
Use Sidebar to provide persistent, structured access to many navigation items organized in a hierarchy. Common scenarios include:
references/pattern.md, then choose the smallest viable variation.Do's ✅
<nav> or <aside> with aria-label for the sidebar landmarkaria-current="page" on the active linkaria-expanded on collapsible section toggles<div>) for links or togglesCSS Grid Layout (Avoid JS for Positioning)
.app-layout {
display: grid;
grid-template-columns: 16rem 1fr;
height: 100dvh;
}
.sidebar { overflow-y: auto; }
.main-content { overflow-y: auto; }
The Problem: The sidebar takes up 200-300px of horizontal space that could be used for content on medium-width screens like tablets.
How to Fix It: Provide a collapse toggle that switches to a mini (icon-only) mode. Use tooltips on hover to show full labels in mini mode.
The Problem: Users expand nested sections, navigate to a child page, and when the page reloads, all sections collapse again, losing their place.
How to Fix It: Persist expand/collapse state in localStorage or derive it from the current route — auto-expand the section containing the active page.
The Problem: Users can't tell which page they're on because no sidebar item is visually distinguished.
How to Fix It:
Highlight the active item with a background color, text color change, or left border indicator. Add aria-current="page" for screen readers.
For full implementation detail, examples, and testing notes, see references/pattern.md.
Pattern page: https://uxpatterns.dev/patterns/navigation/sidebar
tools
Use when implementing multi-step forms and processes.
content-media
Use when implementing video playback with controls.
development
Use when choosing, comparing, or implementing UX patterns across the UX Patterns for Developers corpus.
tools
Use when implementing user profile and account management.