popovertarget="" popovertargetaction=""
| 更新日 | |
|---|---|
| 仕様 | HTML Living Standard |
| 分類 | button要素とinput要素向けの属性 |
button要素、またはボタン状態のinput要素に popovertarget="" や popovertargetaction="" を追加すると、ボタンの操作でポップオーバー要素を開閉することができます。
- ポップオーバー要素とは、popover属性が指定された要素のことを言います。
<button type="button" popovertarget="example" popovertargetaction="toggle">ボタン</button>
<input type="button" popovertarget="example" popovertargetaction="toggle" value="ボタン">
| 属性 | 値 | ||
|---|---|---|---|
| 任意属性 | |||
popovertarget="" |
ID名 | 関連付けるポップオーバー要素に指定したID名 | |
popovertargetaction="" |
toggle |
ポップオーバー要素を表示または非表示にする(既定値) | |
show |
ポップオーバー要素を表示する | ||
hide |
ポップオーバー要素を非表示にする | ||
ポップオーバー要素の詳細については、下記のページを参考にしてください。
popovertarget属性について
popovertarget属性は、ポップオーバー要素とボタンとを関連付けるための属性です。
<button type="button" popovertarget="test1">ボタン</button>
<div popover="auto" id="test1">
ポップオーバー要素
</div>
上記のように、ポップオーバー要素に指定したID名(test1)をpopovertarget属性の値に記述することで、このボタンを押した時に対象のポップオーバー要素が開閉するようになります。
input要素を使用する場合は次のようになります。
<input type="button" popovertarget="test2" value="ボタン">
<div popover="auto" id="test2">
ポップオーバー要素
</div>
popovertargetaction属性について
popovertargetaction属性は、ボタンを押した時の動作を指定する属性です。指定できる値は次の3つです。
toggle- ボタンを押すたびに、ポップオーバー要素の表示・非表示が切り替わります。(既定値)
show- ボタンを押すと、非表示のポップオーバー要素が表示されます。
hide- ボタンを押すと、表示されているポップオーバー要素が非表示になります。
トグルボタンとして使用する場合は次のようになります。
<button type="button" popovertarget="test3" popovertargetaction="toggle">表示/非表示</button>
<div popover="auto" id="test3">
ポップオーバー要素
</div>
表示と非表示のボタンを別々に設置する場合は次のようになります。
<input type="button" popovertarget="test4" popovertargetaction="show" value="表示">
<input type="button" popovertarget="test4" popovertargetaction="hide" value="非表示">
<div popover="auto" id="test4">
ポップオーバー要素
</div>
ボタンとポップオーバー要素の記述位置について
可能な限り、ポップオーバー要素はボタンの直後に記述するようにします。そうすることで、スクリーンリーダーによって適切な順序で読み上げられるようになるそうです。
使用例
- 未対応のブラウザでは、ポップオーバー要素の内容が常に表示された状態になります。
<p><button type="button" popovertarget="pop1">表示/非表示</button></p>
<div popover="auto" id="pop1">
<p>ポップオーバー要素A</p>
</div>
- 表示例
-
ポップオーバー要素A
<p>
<input type="button" popovertarget="pop2" popovertargetaction="show" value="表示">
<input type="button" popovertarget="pop2" popovertargetaction="hide" value="非表示">
</p>
<div popover="auto" id="pop2">
<p>ポップオーバー要素B</p>
</div>
- 表示例
-
ポップオーバー要素B
<p><input type="button" popovertarget="pop3" popovertargetaction="show" value="表示"></p>
<div popover="auto" id="pop3">
<p>ポップオーバー要素C</p>
<p><input type="button" popovertarget="pop3" popovertargetaction="hide" value="非表示"></p>
</div>
- 表示例
-
ポップオーバー要素C