figma guide

Designing accordions and collapsible panels in Figma: patterns, states, and handoff

Design accordion and collapsible panel components in Figma with expand/collapse states, single vs multi-open rules, keyboard specs, and Dev Mode handoff for settings and FAQs.

Published
Updated
Jun 11, 2026
Read time
7 min
Level
Beginner

Quick answer

Accordions in Figma are stacked disclosure panels—each row has a header (title + chevron) and collapsible content below. Build them as a published component with variants for state=expanded | collapsed, optional style=bordered | flush, and rules for single-open vs multi-open behavior. Use accordions for long settings lists, FAQs, and filter groups—not for primary navigation. Document keyboard behavior (Enter/Space to toggle, arrow keys between headers), animation duration, and default open panels in Dev Mode. Pair with forms, navigation tabs, and the Figma guides hub.


Who this is for

  • Product designers shipping settings pages, help centers, and dense filter sidebars.
  • Design system teams replacing one-off chevron hacks with one accordion primitive.
  • Engineers implementing aria-expanded, focus management, and single-open logic.

Accordion vs tabs vs modal vs drawer

PatternShowsBest forAvoid when
AccordionVertical stack; one panel visible at a time (optional)FAQs, settings sections, filter groupsSwitching peer views of equal weight
TabsHorizontal peer viewsDashboard sections, profile sub-pages12+ sections with long titles
ModalFocused task overlayDestructive confirms, short formsBrowsing 20 settings categories
Drawer / sidebarPersistent off-canvas navApp-level navigationInline FAQ on a marketing page

Verdict: use accordions when users scan many related sections vertically and only need one or a few open at once. Use tabs when sections are peer destinations users switch between frequently.


Component anatomy

PartPurposeSpec tip
Header rowClick target; title + iconMin 44px height; full-width hit area
Chevron / caretExpand/collapse affordanceRotates 180° on expand; do not rely on color alone
TitleSection labeltext/label-md; truncate with tooltip if needed
Optional badge”3” pending items, “New”Right-aligned before chevron
Content panelFields, text, nested listsPadding matches form field spacing
DividerBetween items (flush style)1px border/subtle between headers
Accordion / Item
├── Variant: state=expanded | collapsed
├── Variant: style=bordered | flush
├── Property: hasBadge=true | false
├── Layer: Header (horizontal auto layout, space-between, padding 12–16px)
│   ├── Title (text/label-md)
│   ├── Badge (optional)
│   └── Chevron icon (16–20px)
└── Layer: Content (vertical auto layout, padding 16px)
    └── Slot for fields, text, or nested components

Publish Accordion / Item as the atomic unit. Stack multiple item instances in a vertical auto layout for the full accordion list.


Single-open vs multi-open

ModeBehaviorWhen to use
Single-openOpening one panel closes othersFAQs, checkout summaries, wizards
Multi-openPanels stay open independentlySettings with cross-references, filter sidebars
First open by defaultPanel 1 expanded on loadOnboarding help, “Getting started”
All collapsed defaultUser chooses what to openLong admin settings

Document the mode in the component set description and on the handoff artboard. Engineering cannot infer single-open from visuals alone.


States every accordion item needs

StateHeaderChevronContent
CollapsedDefault backgroundPoints right or down (pick one system-wide)
ExpandedOptional subtle fillRotated (e.g., points up)
Hoversurface/hover on headerSame rotation rules
FocusVisible focus ring on headeraria-expanded=true
DisabledMuted text; no pointerPanel not interactive
ErrorError border or icon on headerExpand to show inline alert inside

Use interactive components for hover on the header row. Keep focus ring on the entire header button, not only the chevron.


Bordered vs flush styles

StyleVisualBest for
BorderedCard-like panels with radiusStandalone FAQ blocks, marketing pages
FlushDividers only; edge-to-edgeSettings inside modals or sidebars
InsetContent indented under headerDense admin UIs; clearer hierarchy

Bind borders and fills to semantic color tokensaccordion/header/bg, accordion/border, accordion/content/bg.


Content inside panels

Content typeLayout tip
Form fieldsUse form components; 16px gap between fields
Short text / FAQ answertext/body-md; max width ~65ch for readability
Nested accordionAvoid beyond 2 levels—switch to tabs or page nav
Action buttonsRight-align footer actions inside panel; primary only one per panel
TablesFull-width; note horizontal scroll inside panel

When a panel contains many fields, add a section description under the header title before the first input.


Mobile behavior

DesktopMobile adaptation
Full accordion stackSame pattern; increase header touch target to 48px
Sidebar filtersBottom sheet or full-screen filter modal
8+ sectionsConsider search within settings + accordion

Document breakpoint behavior on a sm artboard. Collapsed panels should not unmount content in design specs unless engineering explicitly lazy-loads.


Accessibility

RequirementSpec
Header element<button> or <summary>—not div-only
Expanded statearia-expanded="true" | "false"
Panel regionid linked via aria-controls
KeyboardEnter/Space toggles; optional Up/Down between headers
FocusFocus stays on header after toggle; do not trap inside panel
MotionRespect prefers-reduced-motion; note max height animation optional

Run accessibility contrast checks on header text vs background in both expanded and collapsed states.


Prototyping limits

Figma cannot enforce single-open logic across separate component instances. For reviews:

  1. Build collapsed and expanded frames for key panels.
  2. Prototype header click → swap variant or navigate to expanded frame.
  3. Add a note: “Engineering: single-open — opening B closes A.”

Use sections to group FAQ vs Settings accordion flows on one page.


Handoff to engineering

DeliverableWhere it lives
Single vs multi-openComponent description + handoff table
Default expanded panel(s)Artboard annotation
Animation (height, chevron rotation)Dev Mode note (200–300ms ease)
Lazy load rulesIf panel content is heavy
Nested form validationPer-panel error variant
Mobile sheet fallbacksm frame link

Include accordions in your Dev Mode handoff checklist. Publish under Patterns / Accordion in your team library.


Real-world examples

FAQ block (single-open, bordered)

Five questions; first collapsed by default. Chevron rotates on expand. Answers use body text with optional link to empty state CTA if no results.

Account settings (multi-open, flush)

Sections: Profile, Security, Notifications, Billing. Users may open Profile + Notifications together. Billing panel contains forms and a modal for payment update.

Filter sidebar (multi-open, inset)

Categories: Price, Brand, Rating. Each panel holds filter chips. Pair with search UI and pagination on results.

Cross-link wireframing when accordion IA is still in lo-fi review.


Common mistakes

MistakeConsequenceFix
Accordion for main navUsers lose contextUse tabs or sidebar nav
Tiny chevron-only click targetMis-tapsFull-width header button
3+ nested accordion levelsCognitive overloadFlatten IA or use pages
No collapsed previewUsers cannot scan titlesAlways show headers
Inconsistent chevron directionConfusionOne rotation system in the library
Hiding critical fields in collapsed panelMissed required inputExpand panel with errors automatically
No disabled stateBroken flows for read-only rolesShip disabled variant
Animating from height: 0 without specJanky implementationDocument max-height or CSS grid approach

FAQ

Accordion vs collapsible “Show more” text?

Accordions organize named sections with persistent headers. Show more truncates inline body copy—use for long descriptions, not settings groups.

Should expanded panels push content below or overlay?

Push (default) for FAQs and settings—content below reflows. Overlay only inside fixed-height containers (map sidebar)—document z-index and scroll trap rules.

How many panels before switching to tabs?

If users jump between more than 4–5 peer sections repeatedly, prefer tabs. Accordions excel when users expand one section, complete a task, collapse, move on.

Include a “Expand all” control?

Useful for print/export or power-user settings—add a text button above the stack. Not needed for short FAQs (≤5 items).


Bottom line

Build accordion items as reusable components with clear expanded/collapsed states, single vs multi-open rules, and full-width accessible headers. Use them for FAQs, settings, and filter groups—not primary app navigation. Document keyboard behavior, defaults, and mobile fallbacks in Dev Mode. Continue with forms, search and filters, and the tutorials hub.

Share on X

§ Keep reading

Related guides.