Accordion
📖 Overview
The Accordion block allows users to create collapsible content sections, ideal for FAQs, step-by-step guides, or any content that benefits from progressive disclosure. Each accordion item consists of a clickable heading that reveals/hides associated content.
✏️ Content Options
Accordion items are managed via a repeater field. Use the “Add Accordion Item” button to add as many items as needed.
| Field | Type | Required | Description |
|---|---|---|---|
| Heading | Text | Yes | The clickable title for each accordion item |
| Description | WYSIWYG Editor | Yes | Rich text content displayed when the accordion item is expanded |
⚙️ Settings Options
| Setting | Type | Default | Description |
|---|---|---|---|
| Close all accordions on open | Toggle | Off | When enabled, opening one accordion item will automatically close all other items in the group |
| Open first accordion by default | Toggle | Off | When enabled, the first accordion item will be expanded when the page initially loads |
| Accordion Icon | Select | Chevron | Choose the visual indicator for the expand/collapse toggle. Options: Chevron, Arrow, or Plus/Minus |
🎨 CSS Variables
The following CSS variables can be configured to customise the block’s appearance:
| Variable | Default Value |
|---|---|
--block-accordion-colour |
var(--colour-black) |
--block-accordion-border-colour |
var(--colour-black) |
--block-accordion-border-width |
2px |
--block-accordion-icon-colour |
var(--colour-black) |
--block-accordion-icon-width |
var(--icon-reg) |
--block-accordion-padding-top |
var(--spacing-xs) |
--block-accordion-padding-bottom |
var(--spacing-xs) |
--block-accordion-gap |
var(--spacing-xs) |
--block-accordion-plus-minus-height |
2px |
--block-accordion-active-border-colour |
var(--colour-black) |
--block-accordion-active-icon-colour |
var(--colour-black) |
♿ Accessibility
- Uses semantic button elements for accordion triggers
- Implements
aria-expandedattribute to indicate open/closed state - Uses
aria-controlsandaria-labelledbyto associate headings with their content regions - Content panels use
role="region"for proper landmark identification - Supports keyboard navigation (Enter and Spacebar to toggle)
Sed vehicula magna at lacus interdum, quis laoreet nulla condimentum. Aliquam erat volutpat. Cras et nulla in turpis consectetur suscipit. Vivamus lobortis, risus sit amet cursus tincidunt, erat turpis placerat ex, ut placerat justo lorem vel ligula. Fusce non diam felis.
Sed vehicula magna at lacus interdum, quis laoreet nulla condimentum. Aliquam erat volutpat. Cras et nulla in turpis consectetur suscipit. Vivamus lobortis, risus sit amet cursus tincidunt, erat turpis placerat ex, ut placerat justo lorem vel ligula. Fusce non diam felis.
Sed vehicula magna at lacus interdum, quis laoreet nulla condimentum. Aliquam erat volutpat. Cras et nulla in turpis consectetur suscipit. Vivamus lobortis, risus sit amet cursus tincidunt, erat turpis placerat ex, ut placerat justo lorem vel ligula. Fusce non diam felis.
Sed vehicula magna at lacus interdum, quis laoreet nulla condimentum. Aliquam erat volutpat. Cras et nulla in turpis consectetur suscipit. Vivamus lobortis, risus sit amet cursus tincidunt, erat turpis placerat ex, ut placerat justo lorem vel ligula. Fusce non diam felis.
Sed vehicula magna at lacus interdum, quis laoreet nulla condimentum. Aliquam erat volutpat. Cras et nulla in turpis consectetur suscipit. Vivamus lobortis, risus sit amet cursus tincidunt, erat turpis placerat ex, ut placerat justo lorem vel ligula. Fusce non diam felis.
Sed vehicula magna at lacus interdum, quis laoreet nulla condimentum. Aliquam erat volutpat. Cras et nulla in turpis consectetur suscipit. Vivamus lobortis, risus sit amet cursus tincidunt, erat turpis placerat ex, ut placerat justo lorem vel ligula. Fusce non diam felis.
Sed vehicula magna at lacus interdum, quis laoreet nulla condimentum. Aliquam erat volutpat. Cras et nulla in turpis consectetur suscipit. Vivamus lobortis, risus sit amet cursus tincidunt, erat turpis placerat ex, ut placerat justo lorem vel ligula. Fusce non diam felis.
Sed vehicula magna at lacus interdum, quis laoreet nulla condimentum. Aliquam erat volutpat. Cras et nulla in turpis consectetur suscipit. Vivamus lobortis, risus sit amet cursus tincidunt, erat turpis placerat ex, ut placerat justo lorem vel ligula. Fusce non diam felis.
Sed vehicula magna at lacus interdum, quis laoreet nulla condimentum. Aliquam erat volutpat. Cras et nulla in turpis consectetur suscipit. Vivamus lobortis, risus sit amet cursus tincidunt, erat turpis placerat ex, ut placerat justo lorem vel ligula. Fusce non diam felis.