在单选button上使用“label for”

当在单选button上使用“label for”参数时,为了符合508, *是否正确?

<label for="button one"><input type="radio" name="group1" id="r1" value="1" /> button one</label> 

或者是这个?

  <input type="radio" name="group1" id="r1" value="1" /><label for="button one"> button one</label> 

我想问的原因是,在第二个例子中,“标签”只包含文本而不是实际的单选button。

* 1973年“康复法”第508条要求联邦机构向残疾人提供软件和网站无障碍设施。

你几乎得到它。 应该是这样的:

 <input type="radio" name="group1" id="r1" value="1" /><label for="r1"> button one</label> 

for的值应该是您要标记的元素的ID。

这两个结构都是有效的和可访问的,但是for属性应该等于input元素的id

 <input type="radio" ... id="r1" /><label for="r1">button text</label> 

要么

 <label for="r1"><input type="radio" ... id="r1" />button text</label> 

for属性在第二个版本(包含input的标签)中是可选的,但是IIRC中有一些旧版本的浏览器没有使标签文本可以点击,除非包含它。 第一个版本(input后的标签)更容易使用相邻的兄弟select器+ CSS进行样式化:

 input[type="radio"]:checked+label {font-weight:bold;} 

使用正确的id和(正如Marc W在另一个答案中所述)实际上是符合508的。下面是一个以不同方式使用标签的例子 ,声称它实际上是合规的。