使用fieldset HTML标签是否具有除分组表单之外的含义?

时间:2008-11-24 15:21:50

标签: html fieldset semantics

通常,我已经看过表单,但我发现将相关的数据集分组是有帮助的(例如,当您在页面上有多个表时,使用每个表或相关表组周围的字段集来定义可见的含义和组名(图例))。这是否会滥用fieldset标签,在我的使用中,它不再具有语义含义?

6 个答案:

答案 0 :(得分:18)

我相信这会是滥用。 http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.10声明“FIELDSET元素允许作者将与主题相关的controls和标签分组”。

答案 1 :(得分:4)

名称fieldset中的“字段”位指的是<form>字段。

fieldset之外使用form对aribtrary数据进行分组显然是语义上的误用。

但是,您的HTML将验证并且上帝不会杀死小猫。

答案 2 :(得分:3)

我可以看到将内容阻塞到带有图例的字段集中的语义优势。

尽管W3C将字段集和图例与表单相关联,但允许在表单标记之外使用会为实验开辟新的界限。可能与使用中的定义列表类似。

我个人认为fieldset中的“字段”并不特定于表单字段。它只是继承了它在表单标签中使用的关系。 字段是指分组。

想象一下,去你当地的公园和娱乐场所与朋友一起玩垒球。有3个可用字段。他们所有人都在围栏“BASEBALL ONLY”上有标志

你收拾装备然后回家吗?

在表格标签滥用之外标记字段集和图例的使用是狭隘的。

在定义中没有提到表格的地方:

  

FIELDSET元素允许作者   组主题相关的控件   和标签。分组控件使它成为可能   用户更容易理解他们的   目的同时   促进标签导航   视觉用户代理和演讲   面向语音的用户导航   代理商。正确使用这个元素   使文档更易于访问。

我认为xhtml标签格式化控件。 div p blockquote等。

<h1>The Big Book about Everything</h1>
<fieldset>
    <legend>Jokes</legend>
    <h2>30 pages of humorous Jokes</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p>
</fieldset>
<fieldset>
    <legend>Poems</legend>
    <h2>20 pages of well written poems</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p>
</fieldset>
<fieldset>
    <legend>Horror</legend>
    <h2>3 Short and scary stories</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p>
</fieldset>
<fieldset>
    <legend>Mystery</legend>
    <h2>3 Short and mysterious stories</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p>
</fieldset>

答案 3 :(得分:2)

fieldset表单控件组有关。通过对相关表单控件进行分组,作者可以将表单划分为更小,更易于管理的部分,从而改善在面对具有太多表单控件的用户时可能发生的可用性灾难。

即使规范仅在用户与表单交互的上下文中讨论fieldset,not means a fieldset always group fields within a form也是nice CSS alternative

因此,“滥用”可能来自HTML 4和XHTML规范不要求字段集和图例包含在表单元素中的事实。 FIELDSET甚至可以成为BODY元素的孩子。将字段集放在表单之外是有效的语法。

但是,当你将某些东西描述为不是真正的字段集的字段集时,你只会引起混淆。

最好将HTML / XHTML标记视为描述元素的含义而不是它的外观。然后你可以使用CSS使元素看起来像你想要的任何东西。

如果您将数据分组以用于演示目的,则可以在此处找到{{3}}。

供参考:

.fieldset {
border-right: 1px solid #75736E;
border-bottom: 1px solid #75736E;
border-left: 1px solid #F2F0EE;
border-top: 1px solid #F2F0EE;
padding: 10px 3px 3px 3px;

}

.outer {
border-left: 1px solid #75736E;
border-top: 1px solid #75736E;
border-right: 1px solid #F2F0EE;
border-bottom: 1px solid #F2F0EE;
width: 200px; /* CHANGE THIS FOR BOX SIZE */
} 

.legend {
float: left;
margin-left: 15px;
margin-top: -8px;
padding-left: 5px;
padding-right: 5px;
font-weight: bold;
background: #FFF;
} 

<div class="legend">Lipsum.com Is The Best</div>
<div class="outer">
<div class="fieldset">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
Donec congue fermentum metus. Quisque vel ante. 
Cras purus metus, dignissim at, luctus et, sollicitudin eget, urna. 
Maecenas eget lacus. Aenean bibendum risus non erat mattis semper. 
Aliquam placerat nibh eget lacus. Sed blandit eleifend justo. Nam elit. 
Fusce feugiat orci id eros facilisis laoreet. 
Integer vestibulum condimentum purus. 
Proin vehicula congue lacus. Quisque placerat diam nec enim. 
Nunc lorem. Maecenas nec sem sed nulla tristique faucibus.</div></div>

答案 4 :(得分:2)

如果要对表进行分组,请考虑为每个组使用适当的标题(h1-h6)元素。可以使用“caption”元素描述各个表。 “summary”属性也适用于每个表格。

来自规范:

  

每个表都可能有关联   标题(参见CAPTION元素)   提供了简短的描述   表的目的。更长的描述   也可以提供(通过摘要   属性)为了人民的利益   使用语音或基于盲文的用户   剂。

对于记录,'fieldset'元素不打算在表单之外使用。在表单中,它的目的是在概念上对输入字段进行分组 - 例如“个人信息”或“帐单地址”等。

这是一篇有趣的文章,讨论了浏览字段集时屏幕阅读器用户听到的内容。 http://www.rnib.org.uk/wacblog/articles/too-much-accessibility/too-much-accessibility-fieldset-legends/

答案 5 :(得分:1)

fieldset标签还可用于筛选读者和其他一些辅助技术。