<details>
タグの定義と使用方
<details>
タグは、
ユーザーが選択して開閉できるコンテンツを定義するためのタグです。
<details>
タグは、一般的に追加情報や詳細情報を提供するために使用されます。仕様書では「ユーザーが追加情報やコントロールを取得できる開示ウィジェット(disclosure widget)を表す」と定義されています。
<details>
タグは、主にアコーディオンウィジェットのように、ユーザーが開閉できるインタラクティブなウィジェットを作成するために使用されます。
<details>
タグは、ユーザーが選択して開閉できるコンテンツを定義するタグです。
<details>
<summary>概要</summary>
追加情報や詳細な内容
</details>
概要
追加情報や詳細な内容構文
<summary>
タグを使用すると、タイトルを表します。
<details>
<summary>概要</summary> <!-- <summary>タグはタイトルを表します -->
追加情報や詳細な内容
</details>
<summary>
タグを使用してタイトルを表示した例です。
概要
追加情報や詳細な内容<summary>
タグは使用していません。
<details>
追加情報や詳細な内容
</details>
<summary>
タグを使用しなかった場合、ユーザーエージェント(ブラウザーなど)は独自のタイトルを提供します(例:「詳細」)。このデフォルトのテキストはブラウザの言語設定に応じてローカライズされるため、ユーザーの環境によって表示が異なる場合があります。
open
属性
open
属性はブール属性(boolean attribute)です。
この属性が存在する場合、概要と追加情報の両方をユーザーに表示することを示します。もしこの属性がない場合は、概要のみが表示されます。
基本的にウィジェットは閉じた状態です。開くと展開されて内容が表示されます。必要に応じて、open
属性を使ってウィジェットを開いた状態にすることができます。
open
属性を使ってウィジェットを開いた状態にすることができます。
<details open> <!-- 必要に応じて、open属性を使ってウィジェットを開いた状態にできます。 -->
<summary>概要</summary>
追加情報や詳細な内容
</details>
open
属性を使ってウィジェットを開いた状態の例です。
概要
追加情報や詳細な内容<details>
タグがブラウザ上でどのように実装されているかを見ると、JavaScriptで使われていたアコーディオン(あるいはトグル)をHTMLで実現するために考案されたものだと推測できます。従来はJavaScriptとCSSを用いてアコーディオンを実装する必要がありました。しかし、<details>
タグはこのパターンをブラウザ自身がサポートすることで、ウェブ開発者がより簡単にアコーディオンを実装できるよう支援しています。
注意点
<details>
タグを使用する際には、いくつか注意すべき点があります。
<summary>
タグの位置
role
属性は許可されていません。
<details>
タグはrole
属性を許可していません。<details>
タグの暗黙のrole
属性値はgroup
です。
role
属性の詳細については、以下のリンクをご参照ください。
<details>
タグは脚注には適していません。
脚注(footnotes)は主に文書内で参考事項や追加情報を提供するために使用され、簡潔に表示することが求められます。しかし、<details>
タグはユーザーにより多くの情報を提供するために使われるため、脚注とは目的や性質が異なるといえます。脚注のマークアップ方法については、以下の仕様書の内容をご参照ください。
ブラウザ互換性
タグと属性 |
デスクトップ Chrome
|
デスクトップデスクトップ Edge
|
デスクトップ Firefox
|
Safari
|
---|---|---|---|---|
<details>
|
12 | 79 | 49 | 6 |
open
|
12 | 79 | 49 | 6 |
<summary>
|
12 | 79 | 49 | 6 |
仕様書
仕様書 | |
---|---|
<details>
|
HTML Standard #the-details-element |
<summary>
|
HTML Standard #the-summary-element |