我的 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”属性的标签将无法通过可访问性合规性。
字段集的 <legend> 元素似乎复制了标签的功能。这真的有必要吗?
我曾考虑将 <legend> 标记的样式设置为看起来好像它是一个标签,并为单选按钮组完全省去标签,但这对我来说似乎有点 hacky,并且还会在我的代码的其他地方引入复杂性(其中依赖 <label> 元素来做一些漂亮的验证消息标记和其他各种事情)
提前致谢。