https://developer.mozilla.org/ja/docs/Web/HTML/Element/dl
「名前と値のグループを <div> 要素で包む」の項目でも個数については触れられていません。
バリデーターがエラーを出す根拠を知りたいです。
例)この書き方だとバリデーターでヤクルトのdtにエラーが出てしまいます。
```
<dl>
<div class="hokkaido">
<!-- 1つ目の項目 -->
<dt>日本ハム</dt>
<dd>札幌ドーム</dd>
</div>
<div class="kanto">
<!-- 2つ目の項目 -->
<dt>巨人</dt>
<dd>東京ドーム</dd>
<!-- 3つ目の項目 -->
<dt>ヤクルト</dt>
<dd>神宮球場</dd>
</div>
</dl>
```
https://html.spec.whatwg.org/multipage/grouping-content.html#the-dl-element
Name-value groups may be terms and definitions, metadata topics and values, questions and answers, or any other groups of name-value data.
...
In order to annotate groups with microdata attributes, or other global attributes that apply to whole groups, or just for styling purposes, each group in a dl element can be wrapped in a div element. This does not change the semantics of the dl element.
dt : name
dd : value
name と value は複数あっても良いと書いてあるけれど、あくまでも name と value がペアになってて name-value group。
validater がダメ出しをしているのは、複数の name-value group がひとつの div で wrap されているからでしょう。
<dl> <div class="hokkaido"> <!-- 1つ目の項目 --> <dt>日本ハム</dt> <dd>札幌ドーム</dd> </div> <div class="kanto"> <!-- 2つ目の項目 --> <dt>巨人</dt> <dd>東京ドーム</dd> </div> <!-- ★ひとつの name-value group を div で wrap する --> <!-- 3つ目の項目 --> <div class="kanto"> <dt>ヤクルト</dt> <dd>神宮球場</dd> </div> </dl>
<div>
<dt>…</dt>
<dd>…</dd>
<dd>…</dd>
</div>
としている例はある。
https://momdo.github.io/html/grouping-content.html#the-dl-element
すると、文法以前の問題として、dtとddそれぞれの役割というか関連性というか、
そのあたりを無視しているところがそもそもの間違いなんじゃとの疑問が生じるね。
https://webliker.info/13381/#toc_2
(補足:HTML4.01の「定義リスト」(definition list)から名称が変わり)
html5からそれぞれ
・dl(description list)= 説明リスト
・dt(description term)= 説明する言葉
・dd(definition / description)= 定義文 or 説明文
というように「説明リスト」へとタグの持つ意味に変わり用途の幅が広がりました。
descriptionは説明・解説
listは一覧
termは用語
definitionは定義
だから
dl:説明(解説)一覧
dt:説明(解説)用語
dd:定義/説明(解説)
という役割が与えられていないといけないわけで、
解説用語「日本ハム」の定義あるいは説明が「札幌ドーム」であり、
解説用語「巨人」の定義あるいは説明が「東京ドーム」であり、
解説用語「ヤクルト」の定義あるいは説明が「神宮球場」である。
というのは何か変じゃないですか?となる(要するに構造が)。
<dt>日本ハム</dt>
<dd>ホーム球場は札幌ドーム</dd>
とかなら分かるけど。
そして構造的に正しく記述した際に、
複数のdtがひとまとまりのグループになる事はありえない、
みたいな意見がワーキンググループの間で出たのかもね。
中の人じゃないんでこれが正解かどうかは分からないんだけど、
見た目だけを重視して要素の意味を無視するのであれば、
それこそ他の要素を使ってもいいんじゃないの?とか思う。
> テキスト部分は例なので、このdlの前に<h1>本拠地</h1>みたいなものがあるとでも思ってください。
ですと、
<ul>
<li>札幌ドーム</li>
<li>東京ドーム</li>
<li>神宮球場</li>
</ul>
ではないでしょうか。
意味の合わない構造に無理やり押し込もうとするのが問題なのでは?という事。
ちなみに、
Authors:著者
Editors:編者
なので下記の例は表現が違うだけで意味はほぼ同じです。
コードの書き方ありがとうございます。
例が悪いようなんですが、知りたいのは中身ではなく、なぜエラーになるのかなので、内容のことは置いてください。
>匿名回答1号さん
どうしてもコード書けないので全角にします。
テキスト部分は例なので、このdlの前に<h1>本拠地</h1>みたいなものがあるとでも思ってください。
その上で、本家が
https://momdo.github.io/html/grouping-content.html#the-dl-elemen...
```
<dl>
<div>
<dt> Authors </dt>
<dt> Editors </dt>
<dd> Robert Rothman </dd>
<dd> Daniel Jackson </dd>
</div>
</dl>
```
この形は例示してるんです。
順序が違うだけでエラーになることが解せなくて。
今までのdlの書き方で言うなら、dt+dt+dd+ddのほうが変則だと思うし、
グルーピングとしてもわかりにくいように思うんで、ここの理屈がわからないんです
https://html.spec.whatwg.org/multipage/grouping-content.html#the-dl-element
Name-value groups may be terms and definitions, metadata topics and values, questions and answers, or any other groups of name-value data.
...
In order to annotate groups with microdata attributes, or other global attributes that apply to whole groups, or just for styling purposes, each group in a dl element can be wrapped in a div element. This does not change the semantics of the dl element.
dt : name
dd : value
name と value は複数あっても良いと書いてあるけれど、あくまでも name と value がペアになってて name-value group。
validater がダメ出しをしているのは、複数の name-value group がひとつの div で wrap されているからでしょう。
<dl> <div class="hokkaido"> <!-- 1つ目の項目 --> <dt>日本ハム</dt> <dd>札幌ドーム</dd> </div> <div class="kanto"> <!-- 2つ目の項目 --> <dt>巨人</dt> <dd>東京ドーム</dd> </div> <!-- ★ひとつの name-value group を div で wrap する --> <!-- 3つ目の項目 --> <div class="kanto"> <dt>ヤクルト</dt> <dd>神宮球場</dd> </div> </dl>
だとすると、dt+dt+dd+ddの例が通るのはなぜなのでしょう?
https://html.spec.whatwg.org/multipage/grouping-content.html#the-dl-element
A name-value group consists of one or more names (dt elements, possibly as children of a div element child) followed by one or more values (dd elements, possibly as children of a div element child),
Validater を気にするなら、規約を読もうぜ。
無視するという流派もあるけど、Validater の結果が気になる方が正しいと思うので。
最初に読んでるんですけど、何度読んでも順序については触れられていなかったので長らく意味がわからなかったのです。
複数のdtが「同じ意味の」複数のdtである必要があったと分かったので、やっと理解出来ました。
https://html.spec.whatwg.org/multipage/grouping-content.html#the-dl-element
Validater を気にするなら、規約を読もうぜ。
2019/11/08 21:24:08無視するという流派もあるけど、Validater の結果が気になる方が正しいと思うので。
最初に読んでるんですけど、何度読んでも順序については触れられていなかったので長らく意味がわからなかったのです。
2019/11/09 14:57:17複数のdtが「同じ意味の」複数のdtである必要があったと分かったので、やっと理解出来ました。