CSS辞書
UIレシピ集に戻る

モーダルダイアログ

表示・フィードバックBaseline 広く利用可能

HTML標準の<dialog>要素で作るモーダル。フォーカス管理とEscで閉じる挙動はブラウザ任せにでき、JSは開閉の数行だけです。

プレビュー

Live

プレビュー枠は右下をドラッグすると高さを変えられます

コードを編集して試す

書き換えるとプレビューに即反映されます。変更はこのページ内だけで、リロードすると元に戻ります。

HTML
CSS
JS

仕組みの解説

<dialog>要素の showModal() で開くと、最前面表示・背面の操作ブロック・Escキーで閉じる・フォーカスの閉じ込めをブラウザが標準で行います。背景の暗幕は ::backdrop 擬似要素でスタイルします。div とJSで自作するより短く、アクセシビリティの抜けも起きにくい実装です。

実装のポイント

開くボタンと閉じるボタンはtype="button"にします(form内でsubmit扱いになるのを防ぐ)。閉じるアニメーションを付けたい場合は@starting-styleとtransition-behaviorを検討してください。

AIに依頼するときの文例

HTML標準の<dialog>要素を使ったモーダルダイアログを作ってください。showModal()で開き、::backdropで背景を暗くし、JSは開閉のイベントリスナーだけの最小構成にしてください。

使っているプロパティ