accordion
FreeUse when implementing expand and collapse content sections.
The English summary is being prepared. Showing the original description.
Use when you need to organize and structure site navigation.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
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
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Use when implementing expand and collapse content sections.
The English summary is being prepared. Showing the original description.
Use when implementing user account configuration and preferences.
The English summary is being prepared. Showing the original description.
Use when implementing social activity and updates stream.
The English summary is being prepared. Showing the original description.
Use when implementing conversational AI chat interfaces.
The English summary is being prepared. Showing the original description.
Use when implementing handling AI-specific errors.
The English summary is being prepared. Showing the original description.
Use when implementing loading states for AI operations.
The English summary is being prepared. Showing the original description.