具体的な質問は、次のようなものを使用するかどうかです:
$("#mytable").on("mousedown", "input", function(event) {...});
このアクセシビリティは「フレンドリー」ですか、それとも視覚障害者が自分のページを使用するのを妨げますか?
一般的に、javascript と jquery で避けるべき項目は他にありますか?
具体的な質問は、次のようなものを使用するかどうかです:
$("#mytable").on("mousedown", "input", function(event) {...});
このアクセシビリティは「フレンドリー」ですか、それとも視覚障害者が自分のページを使用するのを妨げますか?
一般的に、javascript と jquery で避けるべき項目は他にありますか?
この種のインタラクションの基本的なアクセシビリティをテストする簡単な方法があります。アイテムにタブで移動し、スペースまたはエンターを使用してアクティブ化できますか?
アクセシビリティは、目の不自由な人だけではありません。キーボードに依存しているが、スクリーン リーダーを使用していない他のグループもあります (運動障害のある人など)。いずれの場合も、次の 2 つの問題があるようです。
tabindex
要素がリンクまたはフォーム コントロールではないと仮定すると、 (HTML または JavaScript 経由で)追加する必要があります。
<table tabindex="0">
値 0 は、それが DOM にある時点で tabindex に配置されます。( http://www.w3.org/TR/wai-aria-practices/#focus_tabindex )
次に、キーを押してもイベントがトリガーされるようにする必要があります。次のようにする必要があります。
$("#test").mousedown(function() {
// your function
});
// also activate with enter/space
$("#test").on("keydown",
function (e) {
if (e.which === 13 || e.which === 32) {
$('#test').click();
}
}
);
(JavaScript/jQuery は私の得意分野ではありません。キーコードを確認し、必要に応じて改善してください。ユーザーがスペースを押したり、Enter キーを押してコントロールをアクティブにできるようにする必要があります。)
一般的に、アクセシビリティを考慮し、WAI-ARIA の使用について説明している JavaScipt ライブラリを探します。JQuery と jQuery UI は優れたものの 1 つですが、テストにも役立ちます。標準の HTML コントロールを使用し、JS で強化するのが一般的に最も安全な方法です。おそらく、基本的なテストを作成し、 WebAim のようなリストで質問するのが最善の方法です。
目の不自由な人は、マウス イベントを対話に利用する Web ページを使用できます。別の方法が提供されていなくても、マウス イベントをキーボード イベントなどのユーザーが使用できるものにマップする支援ソフトウェアのおかげで、一部の視覚障害者はページを使用できる場合があります。ただし、それに頼ってはいけません。
WCAG 2.0 には、キーボードとその他のデバイス固有の機能の両方を使用するというテクニック ドキュメントがあり、とりわけ、mousedown
イベント ハンドラーをハンドラーとペアにすることを提案していkeydown
ます。これを行う方法は、コンテキストによって異なります。両方のイベントに同じハンドラを単純に割り当てることができる場合もあります。ただし、マウスを使用するコンテキストも考慮する必要があります。ユーザーがマウスをどこかに移動してからマウス ボタンを押すと予想される場合は、何も表示せずにすべての操作を実行できるようにする方法を見つけてください。