html - 表单或导航标签中的角色属性已过时

标签 html forms twitter-bootstrap wai-aria

简介

我知道,角色属性是 W3C 在 WAI-ARIA 1.0 中引入的然后在 HTML5 中进行了改编。

当 HTML5 刚出现时,许多浏览器没有实现原生元素 people advised使用像 <nav role="nav">…</nav> 这样的角色属性来备份它们,但他们还提到这将很快变得不必要

但目前有不同意见:


Bootstrap

GitHub 上声明的 Bootstrap 成员WAI-ARIA 规则比当前的 HTML5 规范“更重要”。此外,其他第三方网站,如 TutorialsPointW3Schools还建议添加属性以授予完全可访问性。


W3C

另一方面,当您输入带有角色属性的可疑表单标签时,W3C-Validator 会发出以下警告。

<form role="form"></form>

Element form does not need a role attribute.

这显然表明不包括角色属性。


最后

是不是已经到了忽略备份原生 HTML5 标签(和表单)的时候了,或者是否仍然有必要保证一个完全可访问的网站(例如,对于残障人士/有屏幕阅读器的人) ?是否有某种“官方声明”或指南(是最新的)?

最佳答案

这里是 W3C HTML 检查器(验证器)的维护者。简短的回答是 current authoritative requirement that’s relevant to the <form role="form"></form> 案例是这样的:

Web developers should not set the ARIA role and aria-* attributes to values that match the default implicit ARIA semantics defined in the table.

…其中“表格”表示 Document conformance requirements for use of ARIA attributes in HTML 中的表格节ARIA in HTML规范,您可以在此处找到其最新版本:

http://w3c.github.io/html-aria/

而spec之所以权威是因为the HTML spec itself formally references it :

Conformance checker requirements for checking use of ARIA role and aria-* attributes on HTML elements are defined in ARIA in HTML.

W3C 检查器因此严格遵循 HTML 中的 ARIA 中的规则。因此,鉴于以下情况:

  • <form role="form"></form>是设置 role 的情况form 的值与 form 的默认隐式语义相匹配的元素元素,和;
  • HTML 中的 ARIA 中的相关规则是 role不应设置为与元素的默认隐式语义相匹配的值

...检查器因此给出元素形式不需要角色属性警告。

Is there a kind of "official statement" or a guideline (which is up-to-date)?

是的,这正是 ARIA in HTML 规范是。

任何与 HTML 中的 ARIA 规范规则冲突的来源都是错误的或过时的,应予以更正。

关于html - 表单或导航标签中的角色属性已过时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35397871/

相关文章:

javascript - 错误: Cannot read property 'checked' of undefined

javascript - 如何异步加载 webpack 包,但按顺序执行?

html - 页脚不是整个页面的宽度

python - 从网页中提取表格

javascript - 我不确定为什么我的 onclick 按钮没有与我在文本框中输入的内容链接起来?

javascript - jquery ajax - 查询参数的表单序列化问题

html - 他们为什么要将整个网站放在表单元素中?

html - 如何防止在 Bootstrap 中覆盖 div

javascript - 发布 Blueimp 画廊 Twitter Bootstrap

jquery - 设置列表项的高度以填充流体父高度