ボタンには、プログラムで決定可能なテキストが必要です
修正方法
各 button
要素および role="button"
が付与された要素に次のいずれかの特徴があることを確認します:
- スクリーン・リーダーのユーザーが認識可能な内部テキスト
- 空ではない
aria-label
属性 - スクリーン・リーダーのユーザーが認識可能なテキスト (例:
display: none;
あるいはaria-hidden="true"
ではない) を含む要素を参照しているaria-labelledby
role="presentation"
あるいはrole="none"
(ARIA 1.1) で、タブ順序に含まれていない (tabindex="-1"
)
<input type="button">
に次のいずれかの特徴があることを確認します:
- 空ではない
value
属性 - 空ではない
aria-label
属性 - スクリーン・リーダーのユーザーが認識可能なテキスト (例:
display: none;
あるいはaria-hidden="true"
ではない) を含む要素を参照しているaria-labelledby
<input type="submit">
、<input type="reset">
に次のいずれかの特徴があることを確認します:
- 空ではない
aria-label
属性 - スクリーン・リーダーのユーザーが認識可能なテキスト (例:
display: none;
あるいはaria-hidden="true"
ではない) を含む要素を参照しているaria-labelledby
- 空ではない、または指定されていない
value
属性。ブラウザーは value 属性が指定されていない場合、リセットおよび送信ボタンにはデフォルトの値を付与します
なぜ重要なのか
スクリーン・リーダーのユーザーはアクセシブルな名前がない button
の目的を認識することができません。
認識できる、アクセシブルなテキストの名前がないと、スクリーン・リーダーのユーザーにボタンとして使用されている画像の目的を伝える方法がありません。画像の title は画像についての補足的な情報しか提供できません。ボタンなどの操作可能なグラフィック画像の場合、名前がないと、コントロールとして使用されることを想定している非テキストコンテンツの遷移先、目的、機能または動作明確な説明がありません。
ルールの説明
ボタンには遷移先、目的、要素、または動作をスクリーン・リーダーのユーザーに明確に伝える認識可能なテキストがなければなりません。
仕組みについて (簡単に言うと)
すべてのボタンを確認し、認識できるアクセシブルな名前が存在することを確認します。