angular色=forms如何帮助可访问性?
我已经读过role
属性被添加到Bootstrap的可访问性,我想知道如何<form role="form">
帮助可访问性。 有关此特定用法的示例,请参阅http://getbootstrap.com/css/#forms-example 。
我searchBootstrap的“angular色”回购无济于事。
我的问题是,这些信息似乎是多余的。 元素是一种forms的概念已经由HTML标签本身( <form>
)表示,那么如果我们也添加元素扮演form
的role
,这有什么用呢? 如果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议。