フォームにアクセスできるようにしようとしています。入力にrequired
属性とaria-required
属性の両方を持たせるか、1つだけにする必要がありますか?
<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 は、両方を実装するのが最善であると主張しています。
ジョン・フォリオが2012年にその記事を書いたとき、それは非常に真実でした。両方が必要でした。
今日ではそうではありません。私はあなたの例を取り、それを 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にはrequired属性がありますが、まだaria-requiredはHTML5をまだサポートしていないユーザーエージェントにとって有用です。