何时使用必需属性与输入元素的aria-required属性?

Ral*_*thy 18 html5 accessibility html-input required wai-aria

我正在尝试使表格可访问.我应该让我的输入双双requiredaria-required属性,或只是一个?

<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" required>
Run Code Online (Sandbox Code Playgroud)

或者像这样?

<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" aria-required="true">
Run Code Online (Sandbox Code Playgroud)

或者像这样?

<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" aria-required="true" required>
Run Code Online (Sandbox Code Playgroud)

文章Accessible HTML5 Forms - Required Inputs声称最好同时实现这两者.

aar*_*ian 33

当John Foliot在2012年写这篇文章时,这是非常真实的.你需要两个.

今天不再是这样了.我可以举个例子,把它放在CodePen中,并在JAWS和NVDA中检查它(抱歉,今天没有VoiceOver):

<label for="textbox1">Input</label>
<input id="textbox1" type="text" name="Text Box" required>
Run Code Online (Sandbox Code Playgroud)

您将很高兴知道NVDA和JAWS都会根据需要宣布该领域.

简而言之,您不再需要了aria-required.只是用required.

您可以阅读更多关于ARIA属性的信息,这些属性可以在2015年由Steve Faulkner(ARIA规范的编辑之一)撰写本文中:http://html5doctor.com/on-html-belts-and-aria-括号/