Skip to main content



Accordion enables users to expand and collapse multiple sections of content.

We use accordions to break down content into meaningful sections, helping to reduce information overload. Accordions are useful for things like frequently asked questions or displaying multiple blocks of related content such as tariffs.

Content guidance#


KeyField typeGuidelines
AHeadingThe recommended length is between 4 and 12 words, not exceeding 50 characters in total.
BContentUse between 1 and 8 ns-expanders. Each expander consists of a heading and an anonymous content slot. When the heading is clicked the component opens to reveal the content. When in an open state, clicking the heading will hide the content. See ns-expander for further content guidance.

Best practice#

๐Ÿ’š Do's๐Ÿ’” Don'ts
Use for FAQsUse a background with an accordion as the expanded state is white
Use to split up related contentUse more than 8 expanders
Make sure section headings relate to contentUse for critical information (such as caveats)
Use as a solution to excessive copy on a page

Considerations of best practises#

Accordions should be used for FAQs or splitting related content into sections. They should not be used for showing critical information such as caveats. We highly recommend that there are no more than eight content headings in a multiple accordion. If more than eight are used we should stop to reassess why and perhaps breakdown the content even more.


View example on Storybook

Component placement#

The ns-accordion component can be used in the following components:


headingh tag

Specification notes#


  • The heading is for the entire accordion.
  • Heading level should be h2 or h3 depending on if it is part of another heading.


Design Tokens

You can change the branded look and feel of the ns-accordion by modifying these options in the design tokens.

Read more about design tokens in our getting started guide.

  "border-bottom-color": "#C8C9C7",
  "heading": {
    "typography": "p-feature"


  • Do you have insights or concerns to share? You can raise an issue via Github bugs.
  • See all the issues already raised via Github issues.

๐Ÿ’ฉ ๐ŸŽ‰ ๐Ÿฆ„ You can also contact the team on Slack on the #product-nucleus channel!