【jQuery】アクセシビリティのテストが簡単にできるjQueryプラグインQUAIL
この夏やたらと打ち上げ花火を見ているminamiです。
サイトのアクセシビリティチェックを行えるjQueryプラグインをご紹介します。
使い方
こちらからダウンロードします。
https://github.com/kevee/quail/tags
<script src="js/libs/jquery/jquery.js"></script>
<script src="js/src/quail.js"></script>
jQueryとquail.js を読み込みます。srcフォルダのresourcesフォルダも設置してください。
$('#test').quail({
jsonPath : '/src/resources', // jsonファイル(resourcesフォルダ)へのパス
guideline : ['imgHasAlt','checkboxHasLabel'], // テストのガイドライン
testFailed : function(event) { // テストが通らなかった場合の処理
event.element.addClass('quail-result') // classを追加
.addClass(event.severity) // 重要度のclassを追加
.before('
'); // before要素で「×」を追加
}});
});
上記のように実行します。サンプルコードでは、「画像にaltが入っているか」「チェックボックスにラベルが関連づけられているか」をチェックしています。デフォルトのテスト項目はresources内のtest.jsonから呼び出していますが、オプションのguideline の値に配列で指定することができます。
はじめから用意されているテストは以下で確認することができます。
また、カスタムのテストも以下のように記述して、オプションのaccessibilityTests にオブジェクトの形式で指定することもできます。
var accessibilityTests = {
"imgHasAlt": {
"type": "selector",
"selector": "img:not(img[alt])",
"severity": "severe"
},
"checkboxHasLabel": {
"type": "label",
"selector": "input[type=checkbox]",
"testability": 1,
"tags" : [ "form", "content" ]
},
};
実行結果
上記の例ではブラウザ上ではこのように表示されます。画像のaltがないのとチェックボックスにラベルが指定されていないのがわかります。
まとめ
アクセシビリティチェック用となっていますが、カスタムのテストを作れば納品前の品質チェックなどに転用できそうですね。