Skip to main content
Accordion enables users to expand and collapse sections of content

Experimental Accordion

  • Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

  • Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

  • Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

  • Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Vanilla JS

<!-- 
  Copyright IBM Corp. 2016, 2018

  This source code is licensed under the Apache-2.0 license found in the
  LICENSE file in the root directory of this source tree.
-->

<ul data-accordion class="bx--accordion">
    <li data-accordion-item class="bx--accordion__item">
      <button class="bx--accordion__heading" aria-expanded="false" aria-controls="pane1">
          <svg class="bx--accordion__arrow" width="7" height="12" viewBox="0 0 7 12">
            <path fill-rule="nonzero" d="M5.569 5.994L0 .726.687 0l6.336 5.994-6.335 6.002L0 11.27z" />
          </svg>
        <div class="bx--accordion__title">Section 1 title</div>
      </button>
      <div id="pane1" class="bx--accordion__content">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
          aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
      </div>
    </li>
    <li data-accordion-item class="bx--accordion__item">
      <button class="bx--accordion__heading" aria-expanded="false" aria-controls="pane2">
          <svg class="bx--accordion__arrow" width="7" height="12" viewBox="0 0 7 12">
            <path fill-rule="nonzero" d="M5.569 5.994L0 .726.687 0l6.336 5.994-6.335 6.002L0 11.27z" />
          </svg>
        <div class="bx--accordion__title">Section 2 title</div>
      </button>
      <div id="pane2" class="bx--accordion__content">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
          aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
      </div>
    </li>
    <li data-accordion-item class="bx--accordion__item">
      <button class="bx--accordion__heading" aria-expanded="false" aria-controls="pane3">
          <svg class="bx--accordion__arrow" width="7" height="12" viewBox="0 0 7 12">
            <path fill-rule="nonzero" d="M5.569 5.994L0 .726.687 0l6.336 5.994-6.335 6.002L0 11.27z" />
          </svg>
        <div class="bx--accordion__title">Section 3 title</div>
      </button>
      <div id="pane3" class="bx--accordion__content">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
          aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
      </div>
    </li>
    <li data-accordion-item class="bx--accordion__item">
      <button class="bx--accordion__heading" aria-expanded="false" aria-controls="pane4">
          <svg class="bx--accordion__arrow" width="7" height="12" viewBox="0 0 7 12">
            <path fill-rule="nonzero" d="M5.569 5.994L0 .726.687 0l6.336 5.994-6.335 6.002L0 11.27z" />
          </svg>
        <div class="bx--accordion__title">Section 4 title</div>
      </button>
      <div id="pane4" class="bx--accordion__content">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
          aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
      </div>
    </li>
</ul>

Documentation

SCSS

Modifiers

Use these modifiers with .bx--accordion class.

Default Selector Description
.bx--accordion__item--active The className for an active accordion item

JavaScript

Public Methods

Name Params Description
release Deletes the instance

Options

Option Default Selector Description
selectorInit [data-accordion] The selector to find the accordion
selectorAccordionItem [data-accordion-item] The selector to find the accordion item component
selectorAccordionContent .bx--accordion__content The selector for the accordion content element
classActive bx--accordion__item--active The className for an active accordion item

Classes

Name Description
bx--accordion__item--active The className for an active accordion item