HTMLのリストはul
(順不同リスト)やol
(順序付きリスト)の中にli
(リストアイテム)を配置するのが基本ですが、それ以外の要素でもli
を直接の子要素として使用できる場合があります。
本記事ではHTML5仕様に基づきli
を子要素として許可される要素について解説します。
目次
li要素とは?
li
要素は、リストの各アイテムを表す要素で通常は次のようなリスト要素の子として使用されます。
ul
(順不同リスト)
順序のないリストを作成するための要素。ol
(順序付きリスト)
順序のあるリストを作成するための要素。
li要素を直接配置できるその他の要素
HTML5では、以下の要素にもli
要素を直接配置することが許可されています。
menu
要素は、HTML5で再導入された要素でナビゲーションやコマンドのリストを表現するために使用されます。
<menu>
<li>ホーム</li>
<li>サービス</li>
<li>お問い合わせ</li>
</menu>
ポイント:menu
要素は、ul
やol
と異なりナビゲーションメニューやコマンドリストのような特殊な用途を意識した設計となっています。
li要素を配置できない要素
div
やspan
といった汎用コンテナ要素にはli
要素を直接配置することはできません。
これらはリスト構造をサポートする要素ではないため文法エラーとなります。
<div>
<li>これはエラーになります</li>
</div>
見た目の違い
menu
要素は、基本的にはスタイルが適用されず、生のリストとして扱われます。ul
/ol
要素は、ブラウザによってデフォルトのスタイル(例えば、箇条書きや番号付きリスト)が適用されます。
用途の違い
ul
/ol
: 一般的なリスト表示。menu
: ナビゲーションやコマンドを表現するための特化したリスト。
実際の例
以下はmenu
要素を使用したナビゲーションメニューの例です。
<menu>
<li><a href="/">ホーム</a></li>
<li><a href="/about">会社概要</a></li>
<li><a href="/contact">お問い合わせ</a></li>
</menu>
スタイリングを適用すれば、ul
やol
とほとんど変わらないデザインを実現できます。
注意点
古いブラウザでのサポート
menu
要素は一部の古いブラウザで完全にはサポートされていない場合があります。
そのため、汎用性を重視する場合はul
やol
の使用を検討してください。
HTMLの仕様を守る
li
要素はリスト構造の一部であるため適切な親要素(ul
、ol
、menu
など)の中で使用する必要があります。
まとめ
HTML5ではli
要素を配置できる要素としてul
、ol
以外にmenu
が追加されています。menu
要素は特定の用途に適したリスト要素でありナビゲーションやコマンドのリストを表現する際に便利です。
正しい要素を使用することでセマンティクスに沿ったHTMLを記述しアクセシビリティやSEOの向上を図りましょう。