` `の中に何を詰め込む?フロントエンド中級者がハマる「コンテンツモデル」の正解
現場でコードレビューをしていると、未だに「`
`)だろうが、見出し(`
`)だろうが、あるいは別のリスト(` `)だろうが、自由自在に詰め込めるのが今の標準です。 しかし、仕様上「できる」ことと、メンテナンス性の高い「美しいコードを書く」ことは別物。今日は、現場で後輩に伝えている「リストの作法」について、少し深掘りして解説します。 — ブラウザはどう解釈しているのか?
ブラウザの内部処理において、`
かつてXHTMLの時代には、「インライン要素しか入れちゃダメ」という厳しい制約がありましたが、HTML5の登場でこの制約は取り払われました。ブラウザは`
ただし、「構造の正しさ」を担保するのはブラウザではなく、我々開発者の責務です。例えば、`
`を入れ子にするのは文法上はOKですが、CSS設計が複雑になりがちで、アクセシビリティの観点からも「なぜその構造にしたのか?」を自問自答する必要があります。
`の中は、意味の塊である『セクション』として扱う」という考え方です。単なるテキストの羅列ではなく、カードUIのように見出しと説明文をセットにするケースを想定したサンプルコードを見てみましょう。
`の中に`
`を単なるレイアウトのための箱として使いすぎているケースです。
—
実践:メンテナンス性の高いリスト構造
現場で私が推奨しているのは、「`
-
高速なレンダリング
仮想DOMの最適化により、初期表示のパフォーマンスを最大化。ユーザーの離脱を防ぎます。
-
強力な型安全性
TypeScriptを採用し、開発中からバグを検知。保守コストを劇的に削減します。
このコードが「プロ仕様」である理由
1. 意味論的(セマンティック)な構造: `
`を配置することで、文書のアウトラインが正しく生成されます。スクリーンリーダーを使用しているユーザーにも、リストの構造が正しく伝わります。 2. CSSの適用が容易: ` `をフレックスコンテナ(`display: flex;`)にするだけで、中の要素の配置を簡単に制御できます。 3. 拡張性: 将来的にアイコン画像や日付タグを追加したくなっても、` `の中に要素を追加するだけで済むため、HTMLの構造を大きく壊す必要がありません。 — 避けるべき「アンチパターン」
逆に、現場で見ていて「これは修正した方がいいな」と思うのが、`
- `
- `の中に無理やり`
`を入れる: 構造が複雑化しすぎて、レスポンシブ対応で地獄を見ることになります。
- 見出しタグ(h1-h6)の順序を無視する: リスト内だからといって適当な見出しレベルを使うのはNGです。親要素の構造と調和させるのがプロの仕事です。
—
まとめ:最後に伝えたいこと
`
- `のコンテンツモデルは非常に自由です。しかし、自由だからこそ、「その構造は何のためにあるのか?」という意図を明確にすることが重要です。
「とりあえず動けばいい」ではなく、「半年後の自分が修正しやすいか?」「アクセシビリティツールが正しく読み取れるか?」という視点を持ってコードを書いてみてください。
もし、`
- `の中が巨大になりすぎるようなら、それはコンポーネントの粒度が適切でないというサインかもしれません。そんな時は、迷わずそのリストアイテムを独立したコンポーネントとして切り出しましょう。それが、中級から一歩上のシニアエンジニアへと成長するための、確かなステップです。
現場のコーディングで迷ったら、いつでもこの「構造の純粋さ」に立ち返ってみてください。それだけで、あなたの書くコードは確実に、一段上のクオリティに到達します。
タイトルとURLをコピーしました - `の中に無理やり`

コメント