14

HTML5 属性を使用してフォームに必須フィールドをマークアップすると、Firefox (およびその他の可能性あり) の JAWS 14 は、ユーザーが最初にフィールドに注目したとき (つまり、ユーザーが最初にフィールドに遭遇したとき) に空のフィールドを「無効なエントリ」として通知します。

<input type="text" required value="">

を使用aria-required="true"すると厄介なメッセージは回避されますが (JAWS はユーザーにフィールドが必須であることを通知します)、HTML5 フォームの検証機能は失われます (フォームの送信の防止、ユーザーをガイドするブラウザー生成のツールチップなど)。

  1. 「無効なエントリ」のアナウンスを回避するにはどうすればよいですか?
  2. なぜ JAWS はこれを行うのですか?
    ユーザーがフィールドをスキップして(空白のままにして無効にする)、再びフィールドに焦点を合わせた場合、フィールドを「無効」と表現することは理解できます。現在の実装は、ユーザーが存在すら知らなかったフィールドに何か間違ったことを入力したと言われているため、混乱しています。

JAWS をだますために JavaScript を設定するハックについて読んだことがありますが、多くの入力があるページのすべてのフィールドでaria-invalidユーザーの操作 (イベントなど) を監視することは本当に避けたいと思います。focus現在私は使用しています<label>Label text <span style="display:none;">required field</span></label>が、それは非常にハックで非セマンティックなソリューションです (HTML5 の利点を失うことは言うまでもありませんrequired)。

4

2 に答える 2

2

参考までに...これは、次の記事で説明されているように、JAWS 13/14 およびその他のスクリーン リーダーの既知の問題でした: Accessible Forms 2: Required Fields and Extra Information .

JAWS 13/14、NVDA 2012.3、および WindowsEyes 8.1 を Firefox 20 (およびおそらく他のブラウザー) で使用している場合、ブラウズ モードでフォームを矢印で移動するか、入力から入力にタブ移動すると、必要なフォーム フィールドごとに HTML5 の「無効なエントリ」メッセージが表示されます。フォームモードで。この警告はエントリが作成される前に表示されるため、一部のユーザーにとっては混乱を招く可能性があります。

requiredこれで、 と の両方をaria-requiredプレースホルダーと共に使用できるようになりました。

<label for="theInput">Label Text (required):</label>
<input type="text" name="theInput" id="theInput" required="required" aria-required="true" placeholder="the Input" value="" /> 
于 2015-05-18T21:45:52.150 に答える