Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf p的可访问性问题:选择_Jsf_Primefaces_Accessibility - Fatal编程技术网

Jsf p的可访问性问题:选择

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

我正在使用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: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">&nbsp;</label>