WordPress.org

Plugin Directory

Scanoria アクセシビリティ診断 – WCAG チェッカー・ウェブアクセシビリティ検査ツール

Scanoria アクセシビリティ診断 – WCAG チェッカー・ウェブアクセシビリティ検査ツール

説明

Scanoria アクセシビリティ診断は、WordPress サイトを WCAG (Web Content Accessibility Guidelines) に照らして検査し、どこを直せばよいかを管理画面に表示します。

訪問者が実際に受け取るページを検査します。

検査は公開中の各 URL を開き、描画が終わるのを待ってから結果を調べます。テーマやページビルダー、JavaScript がページに出力したものはすべて検査対象に入ります。保存された投稿本文を解析するのではなく、ブラウザー上で完成したページを読むからです。

あなたの判断は次のスキャンでも残ります。

ある指摘を修正済みにしたり、これは自分には該当しないと判断したりすると、その判断は残り続けます。段落を足しても、節の順序を入れ替えても、ページビルダーが要素の id を作り直しても、同じ指摘として認識され、判断は付いたままです。各指摘は文書内の位置ではなく要素自身の複数の性質で識別されるので、編集をまたいでも判断が生き残ります。同じ指摘が全ページのフッターに出る場合は、一度の操作でサイト全体に対して無視にできます。

何もサーバーの外へ出ません。

アカウント不要。登録不要。API キー不要。外部 CDN も、よそから読み込むフォントも、利用状況の送信も、利用量の上限も、ページ単位・訪問単位の従量課金もありません。ルールエンジンはプラグインに同梱され、検査はあなたのブラウザーで動き、結果はあなたのデータベースに保存されます。何サイトにでもインストールできます。

検査する内容

検査はアクセシビリティの専門家が使うオープンソースのルールエンジン axe-core で行います。各指摘には、対応する WCAG の達成基準、問題のあるマークアップ、修正方法の解説へのリンクが付きます。

どの適合レベルで検査するかを選べます。WCAG 2.1 AA を満たせばよいサイトが、対応義務のない AAA の指摘に埋もれることはありません。

使い方

  1. 管理メニューのアクセシビリティを開きます。
  2. 公開中のコンテンツをスキャンを押し、処理中はタブを開いたままにします。ページごとに進捗が読み上げ可能な形で通知されます。
  3. 結果の表には、スキャンした全ページと未対応の指摘件数が並びます。ページの指摘を見るを押すと、影響の大きいものから順に確認できます。
  4. 各指摘には WCAG の達成基準、問題のあるマークアップ、修正方法の解説へのリンクが表示されます。本当に該当しないものは無視する、直したものは修正済みにするを押し、理由を残したいときはメモを付けられます。サイト全体にチェックを入れると、その判断がサイト内の同じ要素すべてに適用されます。
  5. いつでも再スキャンできます。指摘は毎回ゼロから計算し直され、記録済みの判断が付き直します。

設定は3つのフィルターで完結するので、埋めるべき設定ページはありません。scanoria_capability (誰がスキャンできるか。既定は管理者のみ)、scanoria_rule_tags (どの適合レベルを報告するか)、scanoria_preload_stylesheets (外部ホストの CSS を読むことを許可するか) の3つです。詳しくは FAQ をご覧ください。

やらないこと

サイトの表側にツールバーやウィジェット、オーバーレイを足すことはしません。マークアップのどこを直すべきかを報告するだけで、直すのはあなたか開発者です。

また、これだけでサイトがアクセシブルになるわけでもありません。自動検査はよくある不備のうち相応の割合を見つけます (代替テキストの欠落、コントラスト不足、ラベルのない項目、見出し順序の破綻など) が、代替テキストが実際に意味をなしているかといった判断は人が見る必要があります。

サードパーティ製ライブラリ

本プラグインは axe-core 4.12.1 (https://github.com/dequelabs/axe-core) を同梱しています。ライセンスは Mozilla Public License 2.0 で、全文を vendor/axe-core-LICENSE.txt に含めています。同梱しているファイルはライブラリ自身の配布ビルドそのままで、改変していません。このバージョンの読めるソースは https://github.com/dequelabs/axe-core/releases/tag/v4.12.1 にあります。axe-core はローカルでのみ使用され、ネットワーク要求は行いません。

スクリーンショット

インストール

  1. プラグインをインストールして有効化します。
  2. 管理メニューのアクセシビリティを開きます。
  3. 公開中のコンテンツをスキャンを押します。処理中はタブを開いたままにしてください。
  4. 検出結果を確認し、直せるものは直し、本当に該当しないものは無視に設定します。

FAQ

これでサイトは WCAG に適合しますか ?

いいえ。自動検査で見つかるのはアクセシビリティ上の問題の一部です (代替テキストの欠落、色コントラスト不足、ラベルのないフォーム項目、見出し構造の破綻、アクセシブルな名前を持たないリンクなど)。キーボード操作の罠、分かりにくいフォーカス順序、代替テキストが実際に意味をなしているかどうかの判断は、いずれも人が見る必要があります。本プラグインは機械で検出できる部分を素早く洗い出し、対応済みのものを追跡し続けるための道具です。

アカウントは必要ですか ?

いいえ。登録するものも、入力するキーもありません。

開発元のサーバーへ何かを送信しますか ?

いいえ。そもそも「こちらのサーバー」というものがありません。ルールエンジンはプラグインに同梱され、検査はあなたのブラウザーで動き、結果はあなたのデータベースに書き込まれます。サイトや訪問者に関する情報がどこかへ送られることはありません。

例外に見えかねない点を正確に書きます。基盤のルールエンジンには、そのままでは読めないスタイルシート (実際には第三者ドメインにある CSS) を取得する機能があります。本プラグインではこの動作を既定で無効にしているため、スキャンが独自に要求を出すことはありません。同一オリジンのスタイルシート (テーマや他のプラグインのもの) は直接読めるので影響はありません。外部ホストの CSS も含めて色コントラストを判定したい場合は、scanoria_preload_stylesheets フィルターで有効にしてください。

実際のページを検査する方式の帰結を、はっきり書いておきます。スキャンは公開中の URL をあなたのブラウザーで開くので、そのページが訪問者向けに元から読み込んでいるもの (Gravatar のアバター、別ドメインのフォントや地図、埋め込み動画など) は、スキャン中もあなたのブラウザーから読み込まれます。自分でそのページを見たときとまったく同じです。本プラグインがその一覧に何かを足すことはなく、独自に何かを送ることもありません。

サイトが遅くなりますか ?

訪問者には一切影響しません。検査用のコードは、あなたが開始したスキャンの間だけ、ワンタイムトークンを伴うログイン済み管理者からの要求に対してのみ読み込まれます。

スキャン中にブラウザーを開いたままにする必要があるのはなぜですか ?

結果を信頼できるものにするためです。あなたのブラウザーは訪問者のブラウザーと同じようにページを描画するので、ページビルダーや JavaScript が生成したものも検査対象に入ります。サーバー側だけで解析する方式ではそれらを見られません。

スキャン中にページが飛ばされました。なぜですか ?

スキャンは各ページを自ドメイン内の隠しフレームで読み込みます。セキュリティ系プラグインが X-Frame-Options: DENY ヘッダーでこれを禁じている場合があります。本プラグインは検証済みのスキャン要求に限りこれを SAMEORIGIN に緩めますが、後からヘッダーを設定するプラグインがあればそちらが優先されます。お使いのセキュリティプラグインのフレーム表示設定を確認してください。

報告する適合レベルを絞れますか ?

はい。scanoria_rule_tags フィルターで指定できます。

編集者にも結果を見せられますか ?

既定では管理者のみです。記事を書く人の作業導線に検査画面が入らないようにするためです。scanoria_capability フィルターで対象を広げられます。

プラグインを削除するとデータはどうなりますか ?

プラグインを削除すると、保存済みのスキャン結果は消えます。再スキャンすれば数秒で作り直せるからです。一方、あなたが下した判断 (無視すると決めたもの、修正済みにしたもの、書き残したメモ) は残ります。これらは再スキャンでは復元できませんし、無関係な不具合を直そうとしてプラグインを削除・再インストールするのはよくある手順です。それで数か月分の仕分けが消えてよいはずがありません。再インストールしてもう一度スキャンすれば、判断は同じ要素に付き直します。

何も残したくない場合は、プラグインを削除する前に wp-config.php へ次の行を追加してください。

define( 'SCANORIA_DELETE_ALL_DATA', true );

削除ではなく停止しただけの場合は、何も消えません。

評価

このプラグインにはレビューがありません。

貢献者と開発者

Scanoria アクセシビリティ診断 – WCAG チェッカー・ウェブアクセシビリティ検査ツール はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“Scanoria アクセシビリティ診断 – WCAG チェッカー・ウェブアクセシビリティ検査ツール” は1ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

“Scanoria アクセシビリティ診断 – WCAG チェッカー・ウェブアクセシビリティ検査ツール” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

0.1.2

  • The findings list is now translatable. The buttons, severity labels and status text it draws were hard coded in English, so a translated site still showed them in English.
  • A skipped page now says why it was skipped (blocked frame or timeout) instead of only appearing in the count.

0.1.1

  • 掲載名に対応規格を明記するよう変更しました。機能の変更はありません。

0.1.0

  • 最初のリリースです。