‮Skip to content‬
uiify

Accordion

‮Stack of collapsible sections built on native details elements.‬

‮Browsers‬
Chrome 123+Firefox 121+Safari 17.5+
‮Tier‬
0
‮Bundle compressed‬
511 B
‮Forced layout budget‬
0 ms
‮Axe budget‬
0
‮SSR compatible‬
‮Yes‬
‮Built on‬
elements/details
‮Published contract‬
‮Test harness‬

‮Playground‬

Accordion

Single

‮Shipping‬
‮Ships in 2–3 days.‬
‮Returns‬
30-day return window.

Multiple

‮Shipping‬
‮Ships in 2–3 days.‬
‮Returns‬
30-day return window.

‮API‬

Accordion

‮Prop‬‮Type‬‮Default‬‮Description‬
id*string—‮Base for the deterministic ids that wire summary to panel without context.‬
items*readonly AccordionItem[]—‮Each item is { value, label, panel?, disabled? }.‬
type"single" | "multiple""single"‮Whether one or several items may be open at once.‬
defaultValuestring | readonly string[] | undefined—‮Open on first render. Uncontrolled, so it survives with no JavaScript.‬
classNamestring—‮Class applied to the accordion root.‬

‮Keyboard‬

‮Key‬‮Action‬
Enter / Space‮Toggle section‬
Tab‮Move between triggers‬

‮Accessibility‬

‮Native <details>/<summary> stack. Expanded state readable without JS.‬

‮Styling hooks‬

data-state