Easy accordions without JavaScript

Did you know you can create an expandable content section with just the <details> HTML element? Did you know that with just one additional HTML element you can make that expandable section into an accordion with a dedicated title?

It’s in the details

The <details> element has been around for a little while now. It is supported across all modern browsers, yet many accordion systems still use JavaScript to create the expand-for-more interaction.

<details>
	<p>This is expandable content!</p>
</details>

 

Summerising the content

To give more context to the hidden content within the dropdown, you can add the <summary> element as the first element within your <details> element. Summerise the content with a short title, and whoila, you have yourself an accordion with a title.

<details>
	<summary>Accordion title</summary>
	<p>This is expandable content!</p>
</details>
<details>
	<summary>Accordion two title</summary>
	<p>This is also expandable content!</p>
</details>

Take a look at the CodePen example here.

 

Other possible uses for details

Another idea to avoid additional JavaScript for common website interactions could be to use <details> to create a simple dropdown navigation structure. This allows you to create a simple menu that also doesn’t need JavaScript to open and close.

<details>
	<summary>Menu</summary>
	<nav role="navigation">
		<ul>
			<li>
				<a href="#" title="Link one">Link one</a>
			</li>
			<li>
				<a href="#" title="Link two">Link two</a>
			</li>
			<li>
				<a href="#" title="Link three">Link three</a>
			</li>
		</ul>
	</nav>
</details>

Take a look at the CodePen example here.

 

Conclusion

So should you use <details>? The short answer is yes, why not? It is well supported semantic HTML designed for creating expandable areas of content. Plus, you can save yourself some JavaScript, albeit a small amount, but every byte counts!



What to read next

More from our resources, blogs and case studies

Find this resource useful?

I hope so. I want everyone to be able to benefit from articles like this one. That is why I'm kindly asking for your support.

These resources take time to research and write. The site is run by one person, with occasional volunteer contributors in spare time. Please consider supporting the project if you can.

Plant a tree with Ecologi or Donate £3