我在我的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?
答案 0 :(得分:0)
如果字段无效,则aria-invalid
设置为false。期望它只在与表单交互后才设置吗?我在WAI-ARIA spec中可以找到的唯一项目是它与aria-required
的关系:
当用户尝试提交涉及aria-required为true的字段的数据时,作者可以使用aria-invalid属性来表示存在错误。但是,如果用户未尝试提交表单,则作者不应仅仅因为用户尚未输入数据而在所需小部件上设置aria-invalid属性。
我怀疑控制它的监视功能最初是假的,因此输出默认值false,当条件真实时改为true。我们可以改变这个,代码只需要更新。 绝对欢迎拉请求。
注意:如果您不想通过配置aria-invalid
来处理ariaInvalid: false
,则可以使用ngAria配置选择退出此行为。