accordion list
An accordion list is an ordered list of accordion list items, rendered as a semantic <ol> element. It provides the structural grouping for collapsible sections within an AccordionNav container.
An accordion list is an ordered list of accordion list items, rendered as a semantic <ol> element. It provides the structural grouping for collapsible sections within an AccordionNav container.
Content 1
Content 2
<ol class="accordion-list"><li class="accordion-list-item"><details><summary>Section 1</summary><p>Content 1</p></details></li><li class="accordion-list-item"><details><summary>Section 2</summary><p>Content 2</p></details></li></ol><script lang="ts">
import AccordionNav from '../AccordionNav/AccordionNav.svelte';
import AccordionList from './AccordionList.svelte';
import AccordionListItem from '../AccordionListItem/AccordionListItem.svelte';
</script>
<AccordionNav label="FAQ">
<AccordionList label="Questions">
<AccordionListItem>
<summary>What is this?</summary>
<p>A design system.</p>
</AccordionListItem>
</AccordionList>
</AccordionNav>
// In your Svelte component:
import AccordionList from "lily-design-system-svelte-headless/components/AccordionList/AccordionList.svelte";
<AccordionList>
<!-- list children -->
</AccordionList>
<AccordionNav label="Service categories">
<AccordionList>
<AccordionListItem heading="Mental health" expanded>
<AccordionLink href="/services/anxiety">Anxiety</AccordionLink>
<AccordionLink href="/services/depression">Depression</AccordionLink>
<AccordionLink href="/services/stress">Stress management</AccordionLink>
</AccordionListItem>
<AccordionListItem heading="Physical health">
<AccordionLink href="/services/back-pain">Back pain</AccordionLink>
<AccordionLink href="/services/headaches">Headaches</AccordionLink>
</AccordionListItem>
</AccordionList>
</AccordionNav>
Use AccordionList as the list container inside an AccordionNav. It holds AccordionListItem children that represent the individual expandable sections. Common scenarios include FAQ lists, grouped settings, and stacked content panels.
<AccordionList>
<!-- AccordionListItem children -->
</AccordionList>
| Prop | Type | Default | Description |
|---|---|---|---|
children | slot | (required) | AccordionListItem elements to render inside the list |
...restProps | HTML attributes | Additional attributes spread onto the <ol> element |
Settings panel:
<AccordionNav label="Settings">
<AccordionList>
<AccordionListItem summary="Account"
>Account settings content</AccordionListItem
>
<AccordionListItem summary="Privacy"
>Privacy settings content</AccordionListItem
>
<AccordionListItem summary="Notifications"
>Notification preferences</AccordionListItem
>
</AccordionList>
</AccordionNav>
None -- this component is a passive list container. Keyboard interactions are handled by AccordionListItem children.
<ol> element provides ordered list semantics for assistive technologyThis component provides semantic <ol> list structure with zero visual styling. The consumer is responsible for all CSS including list styling, spacing, borders, and visual grouping. Use the <ol> element or data-* attributes as styling hooks.
The consumer provides all CSS styling. The component renders with a .accordion-list class for targeting. No default styles are included — this is a fully headless component.
<ol> element with class accordion-list<ol> element with class accordion-listrestProps onto the root element for consumer customizationAccordionList follows the Nav / List / ListItem composition pattern:
<nav> container providing the landmark region and accessible label.<ol> list grouping the collapsible items in order.<details> / <summary> sections for each expandable item.<AccordionNav label="FAQ">
<AccordionList>
<AccordionListItem summary="Question 1">Answer 1</AccordionListItem>
<AccordionListItem summary="Question 2">Answer 2</AccordionListItem>
</AccordionList>
</AccordionNav>
accordion-nav — an accordion navigation area for collapsible accordion informationaccordion-list-item — an accordion list item componentaccordion-link — an accordion link<ol> element: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol a.org/en-US/docs/Web/HTML/Element/olGenerated from this component's canonical metadata — the machine-checked source the implementations are held to.
<ol> element provides ordered list semantics for assistive technology| Prop | Type | Default | Description |
| -------------- | --------------- | ---------- | ---------------------------------------------------- |
| children | slot | (required) | AccordionListItem elements to render inside the list |
| ...restProps | HTML attributes | | Additional attributes spread onto the <ol> element |