Skip to main content

AccordionItem

Individual expandable section within an Accordion. Must be used as a child of Accordion.

<Accordion>
<AccordionItem label="Click to expand">
<Text>Content inside the accordion item</Text>
</AccordionItem>
</Accordion>

Props

Label

The label prop sets the header text for the accordion item.

<AccordionItem label="Custom label text">
<Text>Content</Text>
</AccordionItem>

Icon

Add a leading icon to the accordion item.

import { User, Folder } from '@phosphor-icons/react'

<Accordion>
<AccordionItem label="Profile" icon={<User />}>
<Text>User profile settings</Text>
</AccordionItem>
<AccordionItem label="Files" icon={<Folder />}>
<Text>File management options</Text>
</AccordionItem>
</Accordion>

Disabled

Prevent an accordion item from being expanded.

<Accordion>
<AccordionItem label="Enabled">...</AccordionItem>
<AccordionItem label="Disabled" disabled>...</AccordionItem>
</Accordion>

Accessibility

  • Header is a button element with type="button"
  • aria-expanded reflects current open/closed state
  • aria-controls links to the content panel ID
  • aria-disabled and disabled attribute when disabled
  • Content panel has role="region" and aria-labelledby
  • Icons are marked with aria-hidden="true"