angular色=forms如何帮助可访问性?

我已经读过role属性被添加到Bootstrap的可访问性,我想知道如何<form role="form">帮助可访问性。 有关此特定用法的示例,请参阅http://getbootstrap.com/css/#forms-example 。

我searchBootstrap的“angular色”回购无济于事。

我的问题是,这些信息似乎是多余的。 元素是一种forms的概念已经由HTML标签本身( <form> )表示,那么如果我们也添加元素扮演formrole ,这有什么用呢? 如果role将与forms不同,那么添加role="..."是有意义的(我不知道是什么 – 但让我们假装); (尤其是没有具体的推理/用例的例子),它充其量是令人费解的。

如果将一个role="form"添加到表单,则屏幕阅读器将其视为网页上的一个区域。 这意味着用户可以使用他/她的区域快速导航键轻松地跳转到表单(例如,在JAWS 15中,您使用R进行此操作)。 此外,由于屏幕阅读器标记区域的开始和结束,您的用户将能够轻松find表单开始和结束的位置。

从语义上讲,默认的forms就是一种forms。 然而,并不是所有的辅助function应用程序(屏幕阅读器等)都是相同的,有些甚至可以使用具有role=form属性的元素(甚至是表单元素),即使他们知道父表单元素将具有相同的语义含义或者没有role=form属性。

我想指出的是,在评论中提到的文章@ user664833指出, role="form"不应该放在<form>元素上 ,而应该放在<div>或者其他没有语义上表示的元素上它包含表单元素。

现在的屏幕阅读器可能已经正确处理了 <form>元素

报价(链接):

推荐在一个语义中立的元素上使用[ role="form" ],比如<div>而不是<form>元素,因为元素已经暴露了默认的angular色语义

事实上,ARIAbuild议书明确指出,不应该在第1.4节中改变主语言的语义:

“当主机语言为这种types的对象提供语义元素时,用风格和脚本创build对象是不合适的,而WAI-ARIA可以改善这些对象的可访问性,最好通过允许用户代理处理例如,最好在HTML中使用h1元素,而不是在div元素上使用标题angular色。

所以,写<form role='form'>不仅是多余的,而且是违背这个build议的。 方面的效果就像上面所提到的效果不符合build议。