概要
- 要素 は、名前と値のペアリストを表現するためのHTML要素
- ・要素 を組み合わせて柔軟なレイアウトが可能
- アクセシビリティ向上 や意味付けによる利点
- divの代替 として推奨される理由
- Dungeons & Dragonsの例 で応用の幅広さを実証
説明リスト(Description List)の基本
- 要素 は、名前と値のペア(name–value pairs)を表現するためのHTML要素
- (description term) は名前、 (description detail) は値を表現
- タグ でリスト全体を囲み、各ペアごとにとを記述
- 例:
- Title Designing with Web Standards
- 例:
- 複数の値 がある場合、1つのに対して複数のを並べて記述可能
- ラッパー でとのセットを囲むことで、スタイリングも柔軟に対応
セマンティクス(意味付け)の重要性
- 従来の構造 でもリストは作成可能だが、意味情報が不足
- セマンティックな要素 を使うことで、機械や支援技術が情報構造を正しく解釈可能
- 例:スクリーンリーダーはリストのグループ数や進捗を案内できる
- ユーザーはリスト全体のスキップも容易
- アクセシビリティ向上 や将来的な拡張性の観点から、の利用が推奨
Dungeons & Dragonsのステータスブロック例
- D&Dのステータスブロック は、典型的なname–valueペアの集合体
- を複数使い分け ることで、能力値や武器攻撃など異なる情報グループを明確化
- 例:能力値、特性、アクションごとにを分割
- でとをグループ化し、aria-labelで用途を明示
まとめ
- name–valueペア のリストはWeb上でよく使われるパターン
- ・・ の3要素で、セマンティックなマークアップが可能
- セマンティクス付与 で、ユーザー体験やアクセシビリティが向上
- MDNのドキュメント や公式仕様書で詳細を確認推奨
補足
- HTML5以前 は、は「定義リスト」と呼ばれていた
- ・ も「definition term」「definition detail」と呼ばれていた歴史
これ、フロントエンドのプロジェクトで結構使ったことあるんだ。初めて使ったときは、HTMLのセマンティクスのパズルを完成させたみたいな満足感があったよ。2018年にはJAWSが正しくアナウンスしてなかったのを覚えてるけど、今はどうなんだろうね。