角色="radiogroup"和角色="无线电"真的是必要的吗?

Ian*_* Y. 4 html radio wai-aria

有一些ARIA教程网站使用非语义标记和一些JavaScript在于向世人证明使用role="radiogroup",并role="radio"如下面的例子:

<ul role="radiogroup">  
    <li tabindex="-1" role="radio" aria-checked="false">  
        <img role="presentation" src="radio-unchecked.gif">
        Option1
    </li>  
    <li tabindex="0"  role="radio" aria-checked="true">  
        <img role="presentation" src="radio-checked.gif">
        Option2
    </li>  
</ul>
Run Code Online (Sandbox Code Playgroud)


但是,role当我们已经拥有语义和无javascript方法时,使用这些方法有什么意义:

<ul>  
    <li>  
        <input  id="opt1" type="radio" name="opt" value="1">
        <label for="opt1">Option1</label>
    </li>  
    <li>  
        <input  id="opt2" type="radio" name="opt" value="2">
        <label for="opt2">Option2</label>
    </li>  
</ul>
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 9

因为有些人真的非常希望自定义设计用于表单控件,并且无论是否存在语义上合适的元素,都会用图像和一堆JavaScript替换它们.

这些角色只会让伤害在他们这样做时得到缓解.


Den*_*enu 6

在第二个版本中:在ul上需要一个role =“ radiogroup”。

或更适合可访问性:使用字段集。

aria不是为了语义,而是为了可访问性。