| Description | An accordion provides a way for viewers to glance at the content outline and jump to any section. This is helpful for handheld mobile devices where even a couple of sentences into a section requires scrolling. |
| Availability | Stable |
| Required Script | <script async custom-element="amp-accordion" src="https://cdn.ampproject.org/v0/amp-accordion-0.1.js"></script> |
| Supported Layouts | CONTAINER |
| Examples | amp-accordion.html |
Each of the amp-accordion component’s immediate children is considered a section in the accordion. Each of these nodes must be a <section> tag.
- An
amp-accordioncan contain one or more<section>s as its direct children. - Each
<section>must contain exactly two direct children. - The first child (of the section) must be one of
h1,h2, ...,h6,header, and is the heading of the section. - The second child (of the section) can be any tag allowed in AMP HTML and is the content of the section.
- Clicking/tapping on the heading of a section expands/ or collapses the section.
Example:
<amp-accordion>
<section expanded>
<h2>Section 1</h2>
<p>Bunch of awesome content</p>
</section>
<section>
<h2>Section 2</h2>
<div>Bunch of awesome content</div>
</section>
<section>
<h2>Section 3</h2>
<amp-img src="/awesome.png" width="300" height="300"></amp-img>
</section>
</amp-accordion>expanded
The expanded attribute can be set on any <section> that needs to be expanded on page load.
- You may use the
amp-accordionelement selector to style it freely. amp-accordionelements are alwaysdisplay: block.<section>and the heading and content element are not float-able.<section>s will have anexpandedattribute when they are expanded.- The content element is clear-fixed with
overflow: hiddenand hence cannot have scrollbars. - margins of the
amp-accordion,<section>and the heading and content elements are set to 0 and can be overridden in custom styles. - Both the header and content elements are
position: relative.
See amp-accordion rules in the AMP validator specification.