The HTML Disclosure Summary element (<summary>) element specifies a summary, caption, or legend for a <details> element's disclosure box. Clicking the <summary> element toggles the state of the parent <details> element open and closed.
| Permitted content | Phrasing content or one element of Heading content |
|---|---|
| Tag omission | None, both the start tag and the end tag are mandatory. |
| Permitted parents | The <details> element. |
| Permitted ARIA roles | button |
| DOM interface | HTMLElement |
This element only includes the global attributes.
The <summary> element's contents can be any heading content, plain text, or HTML that can be used within a paragraph.
A <summary> element may only be used as the first child of a <details> element. When the user clicks on the summary, the parent <details> element is toggled open or closed, and then a toggle event is sent to the <details> element, which can be used to let you know when this state change occurs.
If a <details> element's first child is not a <summary> element, the user agent will use a default string (typically "Details") as the label for the disclosure box.
Per the HTML specification, the default style for <summary> elements includes display: list-item. This makes it possible to change or remove the icon displayed as the disclosure widget next to the label from the default, which is typically a triangle.
You can also change the style to display: block to remove the disclosure triangle.
See the Browser compatibility section for details, as not all browsers support full functionality of this element yet.
Below are some examples showing <summary> in use. You can find more examples in the documentation for the <details> element.
A simple example showing the use of <summary> in a <details> element:
<details open>
<summary>Overview</summary>
<ol>
<li>Cash on hand: $500.00</li>
<li>Current invoice: $75.30</li>
<li>Due date: 5/6/19</li>
</ol>
</details> You can use heading elements in <summary>, like this:
<details open>
<summary><h4>Overview</h4></summary>
<ol>
<li>Cash on hand: $500.00</li>
<li>Current invoice: $75.30</li>
<li>Due date: 5/6/19</li>
</ol>
</details> This currently has some spacing issues that could be addressed using CSS.
This example adds some semantics to the <summary> element to indicate the label as important:
<details open>
<summary><strong>Overview</strong></summary>
<ol>
<li>Cash on hand: $500.00</li>
<li>Current invoice: $75.30</li>
<li>Due date: 5/6/19</li>
</ol>
</details> | Specification | Status | Comment |
|---|---|---|
| HTML Living Standard The definition of '<summary>' in that specification. | Living Standard | |
| HTML 5.1 The definition of '<summary>' in that specification. | Recommendation | Initial definition |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | 12 | No
|
49 | No | 15 | 6 |
display: list-item |
No
|
No | 49 | No | No | No |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | 4 | Yes | No
|
49 | 14 | No | Yes |
display: list-item |
No | No
|
No | 49 | No | No | No |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary