[解決済み] リストに意味的に見出しを追加する方法
質問
これはしばらく私を悩ませ、これを適切に行う方法についてコンセンサスがあるかどうか疑問に思っています。HTML リストを使用しているとき、リストのヘッダーを意味的に含めるにはどうしたらよいでしょうか。
1 つのオプションはこれです。
<h3>Fruits I Like:</h3>
<ul>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
が、意味的には
<h3>
という見出しは明示的に関連付けられていません。
<ul>
もう一つの選択肢はこれです。
<ul>
<li><h3>Fruits I Like:</h3></li>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
というのは、見出しは実際にはリストアイテムの一つではないからです。
このオプションはW3Cでは許可されていません。
<ul>
<h3>Fruits I Like:</h3>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
として
<ul>
には一つ以上の
<li>
's
古い "リストの見出し"。
<lh>
が最も理にかなっています。
<ul>
<lh>Fruits I Like:</lh>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
というのがありますが、もちろんこれは正式なHTMLの一部ではありません。
を使うように提案されているのを聞いたことがあります。
<label>
をフォームと同じように使うという提案を聞いたことがあります。
<ul>
<label>Fruits I Like:</label>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
というのがありますが、これはちょっと変で、いずれにせよ検証はされないでしょう。
リストヘッダーをスタイルしようとするとき、意味上の問題を見るのは簡単です。
<h3>
タグを最初の
<li>
のようなもので、スタイリングの対象にします。
ul li:first-of-type {
list-style: none;
margin-left: -1em;
/*some other header styles*/
}
の恐怖を味わってください。しかし少なくとも、この方法で私は
<ul>
をスタイルすることで、見出しを含むすべての
ul
タグを作成します。
これはどのような方法で行うのが正しいのでしょうか?何かアイデアがあれば教えてください。
どのように解決するのですか?
Felipe Alsacreationsがすでに述べているように、最初の選択肢は問題ありません。
リストの下にあるものが見出しに属すると解釈されないようにしたいのであれば、それはまさにHTML5のセクショニングコンテンツ要素のためのものです。ですから、たとえば次のようにすることができます。
<h2>About Fruits</h2>
<section>
<h3>Fruits I Like:</h3>
<ul>
<li>Apples</li>
<li>Bananas</li>
<li>Oranges</li>
</ul>
</section>
<!-- anything here is part of the "About Fruits" section but does not
belong to the "Fruits I Like" section. -->
関連
-
[解決済み] textareaのresizableプロパティを無効にするにはどうしたらよいですか?
-
[解決済み] input type="file "ボタンのスタイリング
-
[解決済み] 要素を水平方向にセンタリングする方法
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] Webフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするにはどうすればよいですか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み] 箇条書きのない順序なしリストが必要です。
-
[解決済み] 画像の横のテキストを縦に揃える?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
iframeフレームワークの使用
-
[解決済み] slackのチームIDやチャンネルIDを調べる最も簡単な方法は何ですか?
-
[解決済み] 画像の横のテキストを縦に揃える?
-
[解決済み] ローカルストレージとCookieの比較
-
[解決済み] input type="file "ボタンのスタイリング
-
[解決済み] IMGとCSSのbackground-imageはいつ使い分ける?
-
[解決済み] Zalgoテキストはどのように機能しますか?
-
[解決済み] Webサイトのブラウザタブアイコン(ファビコン)を追加する方法を教えてください。
-
[解決済み] localStorage、sessionStorage、session、cookieの違いは何ですか?
-
[解決済み] 残りの幅を埋めるためにdivを展開する