角色属性在表单或导航标签中已过时

man*_*niL 10 html forms html5 wai-aria twitter-bootstrap

介绍

我知道,角色属性是由W3C在WAI-ARIA 1.0中引入的,然后在HTML5中进行了调整.

当HTML5是新的并且许多浏览器没有实现本机元素时,人们建议使用角色属性来支持它们<nav role="nav">…</nav>,但他们也提到这将很快变得不必要.

但目前,有不同的意见:


引导

一个引导成员在GitHub上声明WAI-ARIA规则比当前的HTML5规范"更重要".此外,其他第三方网站(如TutorialsPointW3Schools)也建议添加该属性以授予完全可访问性.


W3C

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

<form role="form"></form>
Run Code Online (Sandbox Code Playgroud)

元素表单不需要角色属性.

这显然不包括角色属性.


最后

是否已经花时间忽略备份本机HTML5标签(和表单),或者是否仍然需要保证完全可访问的网站(例如残障人士/有屏幕阅读器的人)?是否有某种"官方声明"或指南(最新的)?

sid*_*ker 18

这里是W3C HTML Checker(验证器)的维护者.简短的回答是,<form role="form"></form>案件相关当前权威要求是:

Web开发人员不应将ARIA rolearia-*属性设置为与表中定义的默认隐式ARIA语义匹配的值.

...其中" 表格 "是指在HTML规范中ARIA的HTML部分中使用ARIA属性文档一致性要求中的表格,您可以在此处找到最新版本:

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

规范具有权威性的原因是因为HTML规范本身正式引用它:

用于检查ARIA使用rolearia-*HTML元素属性的一致性检查器要求在ARIA中以HTML格式定义.

因此,W3C检查器严格遵循ARIA中的HTML规则.所以,鉴于以下内容:

  • <form role="form"></form>roleform元素的值设置一个匹配元素的默认隐式语义的情况form,并且;
  • 在相关规则中的HTML ARIA是一个role价值不应该被设置为元素的默认隐性语义相匹配的值

...因此,检查器给出了Element表单不需要角色属性警告.

是否有某种"官方声明"或指南(最新的)?

是的,这正是HTML规范中的ARIA.

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