2013-06-25 55 views
2

你有什么吃晚饭?多项选择题的语义标记

  • 牛肉
  • 蔬菜

假设这上面是一个问题,在相当长的问卷调查和子弹是互相排斥的单选按钮。

什么是最好的方式来标记这个HTML语义?

难道我用<label>What did you have for dinner?</label>

还是我使用一些其他HTML构建?

回答

1

一个好办法做到这一点是将label小号包裹每个无线选项,然后如果你想获得完整的辅助支持,使用aria-labelledby attribute为组:

<span id="label-dinner">What did you have for dinner?</span> 
<div class="controls" aria-labelledby="label-dinner"> 
    <label><input type="radio" name="dinner" />Beef</label> 
    <label><input type="radio" name="dinner" />Chicken</label> 
    <label><input type="radio" name="dinner" />Fish</label> 
    <label><input type="radio" name="dinner" />Vegetables</label> 
</div> 
+0

上面例子中的正确的标记将会是一个'legend'而不是'span',全部用'fieldset'包含。然后'咏叹调标签'(虽然不正确)将不是必需的。请参阅http://stackoverflow.com/a/15560982/504745 – francois