<details>Baseline · Widely available
The <details> element is a disclosure widget which can be expanded to reveal additional content. When closed, only the nested <summary> element is visible.
Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Jan 15, 2020. Widely available since Jul 15, 2022.
Browser support
DesktopChrome
1–11Not supported
12+Supportedsince Jun 7, 2011
Current: 155Edge
12–18Not supported
79+Supportedsince Jan 15, 2020
Current: 154Firefox
1–48Not supported
49+Supportedsince Sep 20, 2016
Current: 157Safari
1–5.1Not supported
6+Supportedsince Jul 25, 2012
Current: 27MobileChrome Android
18+Supportedsince Jun 27, 2012
Current: 155Firefox Android
4–48Not supported
49+Supportedsince Sep 20, 2016
Current: 157Safari iOS
1–5Not supported
6+Supportedsince Sep 10, 2012
Current: 27How to use
This feature is Baseline widely available — use it freely, no fallback needed.
Example
Full syntax and examples are on MDN: HTMLDetailsElement.
Feature detection
JS · check before using
const el = document.createElement("details");
if (!(el instanceof HTMLUnknownElement)) {
// <details> is supported
}Documentation (MDN)
Specification
Usage share
Sub-features
Support for each part of the feature (8). The overall table above shows when the whole feature works.
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| HTMLDetailsElement | 10 | 79 | 49 | 6 | 18 | 49 | 6 |
| HTMLDetailsElement.open | 10 | 79 | 49 | 6 | 18 | 49 | 6 |
| HTMLElement.toggle_event | 36 | 79 | 49 | 10.1 | 36 | 49 | 10.3 |
| HTMLElement.toggle_event.details_elements | 36 | 79 | 49 | 10.1 | 36 | 49 | 10.3 |
| details | 12 | 79 | 49 | 6 | 18 | 49 | 6 |
| details.open | 12 | 79 | 49 | 6 | 18 | 49 | 6 |
| summary | 12 | 79 | 49 | 6 | 18 | 49 | 6 |
| summary.display_list_item | 89 | 89 | 49 | ✕ | 89 | 49 | ✕ |