表单或导航标签中的角色属性已过时
Posted
技术标签:
【中文标题】表单或导航标签中的角色属性已过时【英文标题】:Role attribute obsolete in form or nav tags 【发布时间】:2016-05-25 16:25:50 【问题描述】:简介
我知道,角色属性是 W3C 在WAI-ARIA 1.0 中引入的,然后在html5中进行了改编。
当 HTML5 是新的并且许多浏览器没有实现原生元素 people advised 以使用角色属性(如 <nav role="nav">…</nav>
)支持它们时,但他们也提到这将成为 不必要的 .
但目前,众说纷纭:
引导
一位引导成员在GitHub 上表示,WAI-ARIA 规则比当前的 HTML5 规范“更重要”。此外,TutorialsPoint 或 W3Schools 等其他第三方网站也建议添加该属性以授予完全可访问性。
W3C
另一方面,当您输入带有角色属性的可疑表单标签时,W3C-Validator 会发出以下警告。
<form role="form"></form>
元素形式不需要角色属性。
这显然说明不包括角色属性。
终于
是否已经到了忽略备份原生 HTML5 标签(和表单)的时候了,还是仍然需要保证一个完全可访问的网站(例如,对于残障人士/有屏幕阅读器的人) ?是否有某种“官方声明”或指南(最新的)?
【问题讨论】:
【参考方案1】:这里是 W3C HTML 检查器(验证器)的维护者。简短的回答是current authoritative requirement that’s relevant to the <form role="form"></form>
的情况是这样的:
Web 开发人员不应将 ARIA
role
和aria-*
属性设置为 与定义的默认隐式 ARIA 语义相匹配的值 表。
...其中“表格”表示ARIA in HTML 规范的Document conformance requirements for use of ARIA attributes in HTML 部分中的表格,您可以在此处找到最新版本:
http://w3c.github.io/html-aria/
而规范之所以具有权威性是因为the HTML spec itself formally references it:
用于检查 ARIA
role
和使用的一致性检查器要求 HTML 元素的aria-*
属性在ARIA in HTML 中定义。
W3C 检查器因此严格遵守HTML 中的ARIA 中的规则。因此,鉴于以下情况:
<form role="form"></form>
是为form
元素设置role
值的情况,该值与form
元素的默认隐式语义相匹配,并且;
HTML 中的 ARIA 中的相关规则是 role
值不应设置为与元素的默认隐式语义匹配的值李>
...因此,检查器给出 元素形式不需要角色属性警告。
是否有一种“官方声明”或指南(即 最新的)?
是的,这正是 ARIA in HTML 规范的内容。
任何与HTML 中的ARIA 规范规则冲突的来源都是错误或过时的,应予以纠正。
【讨论】:
以上是关于表单或导航标签中的角色属性已过时的主要内容,如果未能解决你的问题,请参考以下文章
Bootstrap HTML 验证器警告:元素导航不需要角色属性