HTML
dialogタグが表示されない
showModal()を呼んでいない
こんな症状
<dialog>タグを書いたのにモーダルが表示されない。dialog要素を初めて使うときに起きやすいよ。
まず試す
JSで dialog 要素の showModal() を呼んで表示する(閉じるのは close())。
html
<dialog id="d"><p>内容</p></dialog>
<script>
document.getElementById("d").showModal();
</script>これで直らなければ、下の「自分のケース」を確認。
🔍 自分のケースはどれ?
- ✓HTMLに書いただけで表示されない
→ JSで showModal() を呼ぶ。 - ✓モーダルにしたい(背景操作不可)
→ showModal() を使う(show() は非モーダルで背景操作可)。 - ✓閉じたい
→ dialog.close() を呼ぶ。
なぜ起きる?
dialog要素はHTMLに書いただけではデフォルトで非表示(display: none相当)だよ。表示するにはJavaScriptでshowModal()メソッドまたはshow()メソッドを呼ぶ必要があるんだ。open属性を直接付けることもできるけど、モーダルとしての機能(背景のオーバーレイ等)は得られないよ。
✕ エラーが起きるコード
<dialog><p>内容</p></dialog>
<!-- showModal() 未呼出 -->✓ 直したコード
<dialog id="d"><p>内容</p></dialog>
<script>d.showModal()</script>✅ 直ったか確認
showModal() を呼んでモーダルが表示され、close() で閉じればOK。
この解決法は役立ちましたか?
🔗 関連するエラー
- 画像が表示されない — 画像パスが間違っている
- 拡張子が表示されない(.html が見えない) — OS の設定で拡張子が非表示
- favicon(ファビコン)が表示されない — faviconのパス・形式・キャッシュの問題
- iframeが表示されない — 埋め込み先がiframeを拒否している
- videoタグで動画が再生されない — ファイルパスまたはフォーマットの問題
🔗 別カテゴリの関連エラー
📖 この問題を学べるレッスン
✏️ 手を動かして練習
📝 関連ブログ記事
- プログラミングのエラーメッセージの読み方 — エラーの読み方を基礎から解説
- HTMLとは?初心者向けにわかりやすく解説 — タグの書き方・ページ構造の基本
- HTMLのパス(相対パス・絶対パス)の書き方 — パスの書き方を初心者向けに解説