Skip to content

Latest commit

 

History

History
52 lines (42 loc) · 2.49 KB

html-details-element.md

File metadata and controls

52 lines (42 loc) · 2.49 KB

The <details> element

The HTML details element represents a disclosure widget. It can also be used as a part of an accordion widget. The user experience more consistent, and generally better, in a number of areas:

  • keyboard shortcuts and focus handling,
  • exposure via ARIA to assistive technology, and
  • integration with browser features such as find-in-page.

Exclusive Accordion:

<details name="my-accordion">
  <summary>Summary 1</summary>
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</details>

<details name="my-accordion" open>
  <summary>Summary 2</summary>
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</details>

The <details> elements that are part of an exclusive accordion don't necessarily need to be siblings. They can be scattered across the document.

details::details-content {
  --open-close-duration: 500ms;
  height: 0;
  overflow: hidden;
  transition: height var(--open-close-duration), content-visibility var(--open-close-duration) allow-discrete;
}

details[open]::details-content {
  height: calc-size(max-content);
}

Accessibility