我的Web应用程序使用如下示例中所示的表单布局...
我使用的标记类似于...
我有以下问题不知道如何解决...
First Name [____________]
Last Name [____________]
Gender () Male () Female
我使用的标记类似于...
<label for="firstName">First Name</label><input type="text" id="firstName" />
<label for="lastName">Last Name</label><input type="text" id="lastName" />
<label>Gender</label>
<fieldset>
<legend>Gender</legend>
<input type="radio" name="sex" id="sex-m" value="m">
<label for="sex-m">Male</label>
<input type="radio" name="sex" id="sex-f" value="f">
<label for="sex-f">Female</label>
</fieldset>
我有以下问题不知道如何解决...
我想要整个单选按钮组像其他字段一样被标记(如上图所示),但没有任何东西可以链接标签(即没有“for”属性的内容,因为每个单选按钮都有自己的标签仅用于单选按钮的值)。没有“for”属性的标签将无法通过辅助功能合规性检查。
fieldset的<legend>元素似乎重复了标签的功能。这真的必要吗?
我曾考虑过将<legend>标签样式化,使其看起来像是一个标签,并放弃单选按钮组的标签,但这对我来说似乎有点hacky,而且还会在我的代码中引入其他复杂性(我的代码依赖于<label>元素来进行一些巧妙的验证消息标记和其他各种事情)
提前感谢。