かつてHTML5がWebフォームの利便性を一新したように、現代のHTML仕様は静的な構造化言語から「高度なUIコンポーネントを標準記述する言語」へと進化を続けている。Popover APIの最大の特徴は、JavaScriptを一切書かずに要素の開閉と状態管理を完了できる点だ。
以下に示すコードは、最もシンプルなポップオーバーの実装パターンである。ボタンの popovertarget 属性と、対象要素の popover 属性を紐付けるだけで、アクセシブルなポップオーバーが完成する。
<!-- トリガーとなるボタン --> <button popovertarget="info-menu">アカウント設定</button> <!-- ポップオーバー表示される要素 --> <div popover> <p>プロフィール編集やログアウトの操作が可能です。</p> </div>
popover="auto" 属性(デフォルト)を指定すると、外部クリック時の自動非表示や他ポップオーバーとの排他制御が自動で働く。一方、ツールチップのように手動制御したい場合は popover="manual" を指定することで、細かなインタラクションの制御が可能となる。