fieldset要素やリストの使い方

[新着] Webテンプレートを仮オープンしました



0   名前: K+S : 2006/08/27(日) 02:11  ID:nROqylMa
【dt要素、dd要素】を「用語、説明」に使うのは普通ですが、対話の表現としてもよく使われますよね。

適切な要素を選択する際の判断材料って何かあるのでしょうか?
例えば、【見出し】、【本文(段落)】という組み合わせに対しては、
<h1>見出し</h1>
<p>本文</p>

<dt>見出し</dt>
<dd><p>本文</p></dd>

<fieldset>
<legend>見出し</legend>
<p>本文</p>
<fieldset>

といった異なるマークアップが考えられます。

また、ナビゲーションリンクでは、
<ul>
<li><a href="/">トップページ</a></li>
<li><a href="./">メニュー</a></li>
</ul>

<p>
<a href="/">トップページ</a> | <a href="/">トップページ</a>
</p>

などがあります。
※ これについては、[ http://homepage1.nifty.com/VET06031/web/lint100.html ]を読みましたが、
※ contentプロパティが一般的でない現状では、区切りを入れるのが難しいですね。
※ backgroundプロパティやborderプロパティで区切りを表現できそうですが、端の要素の扱いが難しくなってきます。

今回の質問は、区切りにテキストを用いるのはどうか?という話ではないのですが。

●適切な要素、というのはどのように判断される(していけばいい)のでしょうか?
●fieldset要素は、form要素のグループ化以外に用いることは不適ではないのでしょうか?

という点について回答をいただきたいと思っております。

1   名前: 匿名 : 2006/08/27(日) 02:11  ID:StclRsHE
http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/interact/forms.html#edef-FIELDSET
を見ると

<fieldset>
<legend>見出し</legend>
<p>本文</p>
<fieldset>

はないと思うのですが。

2   名前: Pid : 2006/08/27(日) 02:11  ID:GN4gjesz
>>1
<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) >

fieldset 要素型の内容は,(1) テキスト,(2) legend 要素,(3) インライン要素またはブロック要素を好きなだけ,をこの順番で,ということですので,それもアリです(それとも,fieldset 要素が閉じられていないことだったりして (^^;))。

脱線ですが,昔の仕様のドラフトなどを見ると,fieldset 要素と legend 要素で,フォーム内容のタブ切替,なんてことも想定していたようですね(MS Word の設定ダイアログみたいな感じでしょうか)。

3   名前: Pid : 2006/08/27(日) 02:11  ID:GN4gjesz
>>0
とりあえず,私は見出しを集めて目次を作るのが好きなので,目次に含めたいものは見出しにします(逆説的なマークアップですが (^^;))。

fieldset/legend 要素は,DTD 的には form 要素外でも許されますが,個人的には form 要素内限定で使用しています。その方が,私的に都合が良いので。


> contentプロパティが一般的でない現状では、区切りを入れるのが難しいですね。

確かにそうなのですが,件のページの真の主張はそこではなく,「(ナビゲーション)リストはリストとしてマークアップすべし,横に並べたければ { display: inline; } を使え」ということだと思います。

4   名前: K+S : 2006/08/27(日) 02:11  ID:nROqylMa
>>1
引用文4行目の<fieldset>は</fieldset>の間違いでした。すみません。
ちなみに、定義リストのdlタグの記述は省略しました。

>>2-3
> fieldset 要素と legend 要素で,フォーム内容のタブ切替,なんてことも想定していたようですね

なるほど。参考になります。


> fieldset/legend 要素は,DTD 的には form 要素外でも許されますが,

DTD的に許されるというと、blockquote要素をインデント目的で利用するのと同じレベル(?)の評価でしょうか。
妥当なHTML(というのも曖昧ですが)としてfieldset要素内のlegend要素を見出し、その後ろを段落(など)とするのは不適なのかが気になりました。

StrictなHTMLとしても、要素の本来の意味に適ったもの、代用しても適切なものの判断が私個人では難しいので質問させていただきました。
本件に対する厳密な"解答"がないかもしれませんが、みなさまの意見や参考になる文献等の紹介をいただけたら幸いです。


> 件のページの真の主張はそこではなく,「(ナビゲーション)リストはリストとしてマークアップすべし,(略

私が提示したページで言及されていることは仰られるとおり正に要素の適正ですが、その上でも区切りの表現は難しい、ということで書きました。



回答ありがとうございました。
しかしながら、未だfieldsetをform関連要素のグループ化以外に用いることの妥当性が認識できていません。
これに関しては単に「気になった」という程度ですが…。

5   名前: Pid : 2006/08/27(日) 02:11  ID:J4isECb3
> blockquote要素をインデント目的で利用するのと同じレベル(?)

blockquote 要素の場合は「引用」という明確な意味を持つのに対し,fieldset 要素は『テーマ的に関連しあっているコントロールとラベルとをグループ化する』(17.10)と,曖昧なんですよね。

ご存知かもしれませんが,「fieldset の伝説」で検索してみれば,割と最近(でもないか)の議論が出てくるかと。


> fieldset要素内のlegend要素を見出し、その後ろを段落(など)とするのは不適なのか

ちなみに,fieldset 要素をスクリプト操作するときには,所属する form 要素にアクセスできる form プロパティが用意されています(DOM Level 2 HTML,HTMLFieldsetElement)。

これなど,fieldset 要素がフォーム関連要素である証拠の一つではあります。しかしながら,『このコントロールがフォームの文脈内にない場合は null』と,フォーム外での使用を示唆する文言もあります。


そもそも,フォームおよびコントロールは,文書と利用者とを結び付けるためのユーザエージェント側の「機能」であって,論理構造を示す要素ではない,と私は思います。私は最近,土台としての論理構造さえしっかりマークアップされていれば,その上に物理要素やフォームコントロールを「かぶせる」のもアリかな,と思っています。

実際のところ,HTML は歴史的にさまざまなものを内包しているので,一貫性を求めるのは難しいような気がします。私の見出しの使い方(>>3)など,「どうすれば自分にとって都合の良いマークアップになるか」という視点ですし,この辺は俺基準でも良いんじゃないかなあ。

※ただ,fieldset 要素でタブ切替を行うブラウザがもし出てきたら,泣きを見るかもしれませんが (^^;)。


ちなみに XForms 1.0 ではどうなったかを見てみますと,fieldset,legend 要素は group,label 要素に置き換わるようです。
http://www.w3.org/MarkUp/Forms/2003/xforms-for-html-authors,lang=ja#GroupingControls

6   名前: K+S : 2006/08/27(日) 02:11  ID:nROqylMa
回答ありがとうございます。

fieldset要素は仰られるように少し曖昧なのですね。
fieldsetの伝説に関しては承知しております。ありがとうございます。


> 土台としての論理構造さえしっかりマークアップされていれば,その上に物理要素やフォームコントロールを「かぶせる」のもアリかな,

これは私も思っております。しかしながら、物理要素であれば、その意義が明確でない場合は推奨しません。


> 実際のところ,HTML は歴史的にさまざまなものを内包しているので,一貫性を求めるのは難しいような気がします。

これが致命的というか、HTML及びUA側の定義や解釈に影響がでて、表現の際に問題を生じてしまいますよね。
HTMLに関しても数年弄っているので自分でもある程度は判断できますが、その上で「このマークアップが妥当か」という疑問に遭遇することも多いです。
特に、他人のWebページを評価した際には特に気になる点が出てきてしまいますね。


> ※ただ,fieldset 要素でタブ切替を行うブラウザがもし出てきたら,泣きを見るかもしれませんが (^^;)。

そのときはそのときで、再構築…;


> ちなみに XForms 1.0 ではどうなったかを見てみますと,fieldset,legend 要素は group,label 要素に置き換わるようです。

なるほど。リンク先の他の項目も拝見しましたがなかなか参考になりました。(復習という意味でも;


このような回答ありがとうございました。本当に参考になりました。
要素の使い方についても、どのように判断していけばいいか何となく分かりました。(自分の中で…;

失礼します。

7   名前: Z ◆XTzyosZXcL : 2006/08/27(日) 02:11  ID:O1F9KAP/
 まるっきりの余談ですけれど、K+Sさんがご自分のWebサイトをお持ちなのでしたら、一連のスレッドを要約した資料をご提示されるのはいかがでしょう(発言をそのままコピー&ペーストするのは引用の範囲を超えてしまいますが)。
 このサイトは過去ログが残りますからこのままでも参考にはできますが、点在するスレッドを通読するのは難儀なので・・・もちろん強制ではありません。

 ちなみに、私は水無月ばけらさんのリファレンスをよく参照しています。HTML4.0の資料ですが、要素の意味合いや属性の使い方など結構詳しいので。

HTML鳩丸倶楽部:
http://bakera.jp/html/hatomaru.html


8   名前: K+S : 2006/08/27(日) 02:11  ID:nROqylMa
>>7

> 一連のスレッドを要約した資料をご提示されるのはいかがでしょう

HTML関連の"情報"を要約というか有用にデータベースとして共有したい気持ちはありますが、その情報の項目や内容が多すぎて既存のリファレンスやブログのような形でサイトを公開するに至っておりません。

CSSバグリスト@CSSバグ辞典スレッド
http://members.at.infoseek.co.jp/cssbug/index.html

のようなブラウザの解釈差異や実装不備に対する考察もある程度把握しておりますが、これらに関してもまとめる(要約する)ことができていません。
掲示板でのやりとりに関しては、そのやりとりがあったことを覚えている限り有効に利用していけると思います。


> ちなみに、私は水無月ばけらさんのリファレンスをよく参照しています。

ありがとうございます。私も参考にさせていただいております。

一覧へ戻る