该技巧的目的是为相关表单控件提供一个语义群组。这允许用户更快更有效地理解控件之间的关系,并与表单进行交互。
表单控件可以使用fieldset
元素进行分组。所有控件都在一个给定的fieldset
内,相互关联。fieldset
内的第一个元素必须是一个legend
元素,该元素给群组提供一个标签或描述。开发者应该避免使用不必要的嵌套fieldset
,否则,会导致混乱。
控件分组对相关联单选和复选按钮很重要。当有单独的name区域时,一个单选或复选按钮集合是相关的。作为选择列表,他们工作方式相同,允许用户从选项集中进行选择,不同点是单选按钮只能选择一个,复选按钮可以选择多个。每个单选或复选按钮的单独标签可能不足以传达群组的描述信息。在这种情况下,有必要在语义上将它们组合起来,以便作为一个单独控件,同时提供群组级别的额外描述。用户代理会在每个控件标签之前呈现legend
值,并提供该描述,用来提醒用户它们是相同群组的一部分。
组合其他控件组合也是有用的。例如,手机用户地址的一些区域可能会使用“地址”legend
组合起来,然后为这些控件提供群组级别的描述。经验法则,在一个大表单中,一个控件组需要额外的标题提供该组的描述,使用fieldset
和legend
元素是适合的。
但是,当相关联单选或复选按钮包含清楚的说明和不同的选择(例如,每个特定控件相关联的独立控件提供了足够的描述),不需要使用field
和legend
。
一些开发者会避免使用fieldset元素,因为它在浏览器的默认显示会在群控控件周围画一个边框。视觉群组也是有用的,开发者应该严肃地考利限制它(或者视觉群组的一些表单)。视觉样式可以在CSS中重写fieldset
的border
属性和legend
的position
属性。
该样例展示一个测试项目,有一个问题和5个可能的答案。每一个答案通过单选按钮来显示,单选按钮包含在fieldset
内,测试问题使用legend
标记。fieldset
元素可将表单内的相关元素分组。
效果
个人简介也允许用户指明自己的兴趣,通过选择复选按钮,每一个复选按钮都有一个标签。
效果
name
属性的单选按钮效果
此例子中,居住地址和邮寄地址是通过fieldset
中的legend
值分开的;
效果