Popover API
モーダル
などの
ポップオーバー
を実装するために提供されている
ブラウザ
の仕様
Safari
は
Safari 17
から対応される
以下の3つの
属性
が追加された
popover属性
モーダル
自体につく
属性
デフォルトで非表示になり,展開された場合は
トップレイヤ
に表示される.
auto
簡易非表示
に対応
開いたとき他の
モーダル
を閉じる
manual
popovertarget属性
モーダル
を起動する
ボタン
につく
属性
<a>
や
<div>
要素には設定できない
<div>
を
ボタン
として実装してほしくないという想いにも応えている仕様
popovertargetaction属性
モーダル
を起動する
ボタン
につく
属性
以下が最小の動作パターン
code:.html
<button type="button" popovertarget="p1">開閉ボタン</button>
<div popover id="p1">ポップオーバーUI</div>
簡易非表示
に対応
JavaScript
が不要で動作するという点が魅力
JavaScript
で制御することもできる
アクセシビリティ
として
可能な限り
ポップオーバー
はそれをトリガーする
DOM
の直後に配置することで
スクリーンリーダ
などが論理的に読み取ることができる
フォーカス
ポップオーバー
の中の
autofocus属性
を持つものに移動する
ポップオーバー
が閉じられた場合はトリガー要素に戻る
<dialog>
に対しては利用できない