我正在尝试使表格可访问。我应该让我的输入同时具有required
和aria-required
属性,还是只有一个?
<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" required>
或者像这样?
<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" aria-required="true">
或者像这样?
<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" aria-required="true" required>
文章Accessible HTML5 Forms – Required Inputs声称最好实施两者。
当John Foliot在2012年写这篇文章时,这是非常真实的。你需要两个。
今天不再是这样了。我可以举个例子,把它放到in a CodePen,并在JAWS和NVDA中检查(抱歉,今天没有VoiceOver):
<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" required>
您将很高兴知道NVDA和JAWS都会根据需要宣布该领域。
简而言之,您不再需要aria-required
。只需使用required
。
您可以从2015年开始阅读Steve Faulkner(ARIA规范的编辑之一)本文中您可以转储的ARIA属性:http://html5doctor.com/on-html-belts-and-aria-braces/
HTML5现在具有必需属性,但是aria-required对于尚不支持HTML5的用户代理仍然有用。