ngAria:将aria-invalid设置为false

时间:2016-03-29 21:50:00

标签: angularjs wai-aria

我在我的angularjs项目中使用ngaria,我有3个单选按钮,每个按钮都有相同的ngModel,值不同。

                <label for="radio">
                    <input type="radio" value="a" name="someName" id="radio"                              ng-model="someModel"
                           aria-checked="false">radio one
                </label>
                <label for="radio2" >
                    <input type="radio" value="b" name="someName"
                           id="radio2" aria-checked="false"                             
                           ng-model="someModel">radio two
                </label>
                <label for="radio3">
                    <input type="radio" value="c" name="someName"
                           id="radio3"
                           aria-checked="false"                             
                           ng-model="someModel">radio three
                </label>

当我通过chrome中的devtools的firebug检查源时,我看到了 所有这些都设置为aria-invalid为false。为什么?我明白这是因为我有ngModel。但是为什么aria-invalid默认设置为false?

1 个答案:

答案 0 :(得分:0)

如果字段无效,则aria-invalid设置为false。期望它只在与表单交互后才设置吗?我在WAI-ARIA spec中可以找到的唯一项目是它与aria-required的关系:

  

当用户尝试提交涉及aria-required为true的字段的数据时,作者可以使用aria-invalid属性来表示存在错误。但是,如果用户未尝试提交表单,则作者不应仅仅因为用户尚未输入数据而在所需小部件上设置aria-invalid属性。

我怀疑控制它的监视功能最初是假的,因此输出默认值false,当条件真实时改为true。我们可以改变这个,代码只需要更新。 绝对欢迎拉请求。

注意:如果您不想通过配置aria-invalid来处理ariaInvalid: false,则可以使用ngAria配置选择退出此行为。