RRigdesign system
Data display

Accordion

Collapsible sections with a chevron and an open content slot.

Examples

How do I implement tokens?

Tokens resolve from a central schema and map to CSS variables.

Can I self-host this system?

Yes.

Disabled item

States

CollapsedExpanded (chevron up)HoveredDisabled

Anatomy

Accordion anatomy
#PartDescriptionPresence
1HeaderButton with title and chevronRequired
2ChevronRotates 180° on expandRequired
3PanelContent slot, 16px paddingRequired

Specifications

Width400px, height variable
Corner radius12px
Content padding16px
MotionHeight animates automatically on expand
DisabledOpacity 40%, header not clickable

Interaction

Keyboard
KeyResult
TabMoves between headers
Enter SpaceExpands or collapses
↑ ↓Optional: moves between headers
Pointer and touch
TriggerResponse
ClickHeight animates (200ms), chevron rotates
HoverHeader tint

Accessibility

role · disclosure

2.1.1Keyboard4.1.2Name, Role, Value
Requirements
RequirementHow Rig meets it
Semantics<details> and <summary>, or a button with aria-expanded and aria-controls
HeadingWrap the button in a heading level that fits the page
Disabledaria-disabled and 40% opacity; explain why when it matters
Reduced motionOpen and close without the height animation

Read the matching WAI pattern ↗

Usage

Do and don’t
DoDon’t
Keep headers short and descriptiveDo not hide content people need to compare
Do not nest accordions