Jsf p的可访问性问题:选择
我正在使用primefaces 5.1测试我的应用程序,以下代码违反了一条准则:Jsf p的可访问性问题:选择,jsf,primefaces,accessibility,Jsf,Primefaces,Accessibility,我正在使用primefaces 5.1测试我的应用程序,以下代码违反了一条准则: <p:outputLabel for="selectHowMuch" value="Do you feel edgy lately ?" /> <p:selectOneMenu id="selectHowMuch" value="Yes"> <f:selectItem itemLabel="Argggg" itemValue="3" /> <f:selec
<p:outputLabel for="selectHowMuch" value="Do you feel edgy lately ?" />
<p:selectOneMenu id="selectHowMuch" value="Yes">
<f:selectItem itemLabel="Argggg" itemValue="3" />
<f:selectItem itemLabel="Yes" itemValue="2" />
<f:selectItem itemLabel="hmmm" itemValue="1" />
<f:selectItem itemLabel="NO!" itemValue="0" />
</p:selectOneMenu>
违反的准则是
成功标准1.3.1信息和关系(A)检查91:选择
元素缺少关联的标签
修复:添加围绕控件标签的标签元素。设置
label元素上的for属性的值与id相同
控件的属性。和/或向输入添加标题属性
元素。和/或创建包含输入的标签元素
元素
错误行1,第16711列:
<select id="_testapp_WAR_testapp001SNAPSHOT_:j_idt3:selectHowMuch_input"
标记本身没有问题。它符合公认的技术之一
尽管该示例显示了如何与
元素一起使用,但它对
元素同样有效
这看起来像是验证器中的错误。我建议试试FireEyes对不起,我必须与最后一个答案进行对比
在您的示例中,此选择没有关联的标签
<select
id="_tutorial_WAR_tutorial001SNAPSHOT_:j_idt3:selectHowMuch_input"
name="_tutorial_WAR_tutorial001SNAPSHOT_:j_idt3:selectHowMuch_input"
tabindex="-1"><option value="3">Argggg</option>
<option value="2">Yes</option>
<option value="1">hmmm</option>
<option value="0">NO!</option></select>
据我所知,为这一个字段生成了输入
和选择
,并且只有一个标签与输入
正确关联。这看起来像primefaces中的一个bug,你应该让他们的员工做一些更正
还有更多的修改需要做,因为第一个标签应该与select元素相关联,如果我理解正确,输入元素对屏幕阅读器是不可见的。你能显示标签生成的代码吗?@unbof当然,请检查我的编辑。塔克斯!测试PrimeFaces trunk或最新elite版本。自从tge 5.1社区发布以来,有了很多改进。@yannicuLar您的代码没有任何问题,只是由于ID中的冒号,它可能无法在IE(尤其是旧的IE版本)中工作。标签关联是正确的。看起来您正在使用的WCAG验证程序也有一个与带有冒号的ID相关的bug。@非常感谢。
<select
id="_tutorial_WAR_tutorial001SNAPSHOT_:j_idt3:selectHowMuch_input"
name="_tutorial_WAR_tutorial001SNAPSHOT_:j_idt3:selectHowMuch_input"
tabindex="-1"><option value="3">Argggg</option>
<option value="2">Yes</option>
<option value="1">hmmm</option>
<option value="0">NO!</option></select>
<label
id="_tutorial_WAR_tutorial001SNAPSHOT_:j_idt3:selectHowMuch_label"
class="ui-selectonemenu-label ui-inputfield ui-corner-all"> </label>