Only one item can be open at a time in single mode (the default).
<Accordion><Accordion.Item><Accordion.Trigger>What is Roadie?</Accordion.Trigger><Accordion.Content><p>Roadie is a comprehensive design system built for Oztix applications. It provides CSS design tokens, a React component library, and documentation to help teams build consistent, accessible user interfaces across products.</p></Accordion.Content></Accordion.Item><Accordion.Item><Accordion.Trigger>How do I install it?</Accordion.Trigger><Accordion.Content><divclassName='grid gap-2'><p>Install the packages via pnpm:</p><pclassName='text-sm text-subtle'>pnpm add @oztix/roadie-core @oztix/roadie-components</p><p>Then import the CSS foundation in your app's global stylesheet and add the source directive so Tailwind scans the component dist for class strings.</p></div></Accordion.Content></Accordion.Item><Accordion.Item><Accordion.Trigger>Is it accessible?</Accordion.Trigger><Accordion.Content><p>Yes. Interactive components use Base UI primitives that follow WAI-ARIA guidelines. The accordion itself uses native details and summary elements, giving you built-in keyboard navigation and screen reader support with no extra JavaScript.</p></Accordion.Content></Accordion.Item></Accordion>
Emphasis
Use the emphasis prop to control the visual weight of the accordion.
<divclassName='grid gap-6'><divclassName='grid gap-1'><pclassName='text-sm text-subtle'>Normal</p><Accordionemphasis='normal'><Accordion.Item><Accordion.Trigger>First question</Accordion.Trigger><Accordion.Content><p>Answer to the first question.</p></Accordion.Content></Accordion.Item><Accordion.Item><Accordion.Trigger>Second question</Accordion.Trigger><Accordion.Content><p>Answer to the second question.</p></Accordion.Content></Accordion.Item></Accordion></div><divclassName='grid gap-1'><pclassName='text-sm text-subtle'>Subtle</p><Accordionemphasis='subtle'><Accordion.Item><Accordion.Trigger>First question</Accordion.Trigger><Accordion.Content><p>Answer to the first question.</p></Accordion.Content></Accordion.Item><Accordion.Item><Accordion.Trigger>Second question</Accordion.Trigger><Accordion.Content><p>Answer to the second question.</p></Accordion.Content></Accordion.Item></Accordion></div><divclassName='grid gap-1'><pclassName='text-sm text-subtle'>Subtler</p><Accordionemphasis='subtler'><Accordion.Item><Accordion.Trigger>First question</Accordion.Trigger><Accordion.Content><p>Answer to the first question.</p></Accordion.Content></Accordion.Item><Accordion.Item><Accordion.Trigger>Second question</Accordion.Trigger><Accordion.Content><p>Answer to the second question.</p></Accordion.Content></Accordion.Item></Accordion></div></div>
Intents
Set the color context with the intent prop.
<divclassName='grid gap-6'><Accordionintent='accent'><Accordion.Item><Accordion.Trigger>Accent intent</Accordion.Trigger><Accordion.Content><p>This accordion uses the accent color palette.</p></Accordion.Content></Accordion.Item><Accordion.Item><Accordion.Trigger>Second item</Accordion.Trigger><Accordion.Content><p>Intent cascades to all children.</p></Accordion.Content></Accordion.Item></Accordion><Accordionintent='danger'emphasis='subtle'><Accordion.Item><Accordion.Trigger>Danger intent with subtle emphasis</Accordion.Trigger><Accordion.Content><p>Intents work with all emphasis levels.</p></Accordion.Content></Accordion.Item><Accordion.Item><Accordion.Trigger>Second item</Accordion.Trigger><Accordion.Content><p>Intent cascades to all children.</p></Accordion.Content></Accordion.Item></Accordion></div>
States
Use type='multiple' to allow multiple items open simultaneously.
<divclassName='grid gap-4'><divclassName='grid gap-1'><pclassName='text-sm text-subtle'>Single (default)</p><Accordiontype='single'><Accordion.Item><Accordion.Trigger>Section A</Accordion.Trigger><Accordion.Content><p>Content for section A.</p></Accordion.Content></Accordion.Item><Accordion.Item><Accordion.Trigger>Section B</Accordion.Trigger><Accordion.Content><p>Content for section B.</p></Accordion.Content></Accordion.Item></Accordion></div><divclassName='grid gap-1'><pclassName='text-sm text-subtle'>Multiple</p><Accordiontype='multiple'><Accordion.Item><Accordion.Trigger>Section A</Accordion.Trigger><Accordion.Content><p>Content for section A.</p></Accordion.Content></Accordion.Item><Accordion.Item><Accordion.Trigger>Section B</Accordion.Trigger><Accordion.Content><p>Content for section B.</p></Accordion.Content></Accordion.Item></Accordion></div></div>
Composition
Accordion is a compound component with Accordion.Item, Accordion.Trigger, and Accordion.Content.
<Accordion><Accordion.Item><Accordion.Trigger>What is Roadie?</Accordion.Trigger><Accordion.Content><p>Roadie is a comprehensive design system for building consistent user interfaces.</p></Accordion.Content></Accordion.Item></Accordion>
Accessibility
Keyboard: Enter or Space toggles an item. Native <details>/<summary> elements provide built-in keyboard support.
ARIA: Each summary is focusable by default. The browser manages aria-expanded state natively.
Screen readers: Announce open/closed state automatically via the native disclosure pattern.