はじめに
今回は、Chrome Edgeのブラウザー拡張機能のA11ygatorの紹介です。
あと、A11ygatorのチェック結果が、英語なのでそちらの変更方法を紹介していきます。
A11ygatorとは
ウェブ制作者がWCAG準拠をチェックするための無料ツールです。拡張機能が開始されると、HTMLドキュメントのコンテンツの変更を監視し、エラー、警告、通知を含むレポートを生成します。
DevTools との統合により、WCAG準拠に一致するように、要素を簡単に検査し、CSS、HTMLの修正をちょっと楽にしてくれます。
この手の拡張機能は有料版が多いので無料は助かりますね。
同様のソフトにmiCheckerもありますが、こちらは都度miCheckerを起動しないといけないので、開発時はこちらで参照して、最終miCheckerをする感じが。。
下記のサンプル画像は、私が日本語化したものです。
chrome ウェブストアでダウンロードできるものは英語です。
miChecker (エムアイチェッカー)のインストール方法
記事
https://www.omakase.net/blog/2023/07/michecker.html
インストール
英語版は、chrome ウェブストアからダウンロードできます。Edgeも同様です。
日本語化してみる・・・
git hubにソースがあるので下記
https://github.com/chialab/a11ygator-extension
ページを読んでみると内部はHTML Code Sniffer を使用しているようです。
こちらは、JavaScript で作成されたもので昔からかなり有名ですね。PowerCMSにプラグインでありますね。
a11ygator-extensionのソースを見ると
lib\js\HTMLCS.jsがあるのでこちらを差し替えてみるか・・
HTML Code Sniffer
https://github.com/squizlabs/HTML_CodeSniffer
Translationsに<html lang="en">とあるので
ルートのファイルにHTMLCS.jsがあって
下記の部分をjaに置き換えでよい感じです。
// The current language to use.
this.lang = 'en';
変更するにはビルトが必要ですね。
ビルトしてみる・・
はじめての向けに
Windows下記をインストールします。
node.js
https://nodejs.org/en
git
https://git-scm.com/
ひさびさにGithubを使う。
記事
https://www.omakase.net/blog/2022/07/github.html
ますは開発用のディレクトリを作成します。
Windows PowerShellを起動して開発用のディレクトリへ移動します。
開発用のディレクトリから
ソースをダウンロードします。
git clone https://github.com/squizlabs/HTML_CodeSniffer.git
完了後ディレクトリHTML_CodeSnifferへ移ります。
cd HTML_CodeSniffer
gruntインストールします。
npm install -g grunt-cli
ビルトします。
grunt build
エラーがでたら
\HTML_CodeSniffer> grunt build
grunt : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\xxxxx\AppData\Roaming\npm\grun
t.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=
135170) を参照してください。
発生場所 行:1 文字:1
+ grunt build
+ ~~~~~
+ CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
下記コマンドで確かめます
\HTML_CodeSniffer> Get-ExecutionPolicy
Restricted
Restrictedとでたら下記を実行します
\HTML_CodeSniffer> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Proces
再度
grunt build
これで、
HTML_CodeSniffer\buildフォルダーにHTMLCS.jsができています。
注意)
筆者がこのままやったところ、エラーで動作しませんでした。
原因は、HTML_CodeSniffer\Translations\ja.jsが不足している原因でした。
ja.jsはWCAG 2.0のみの対応になっている感じでした。
Translations内のen.jsと見比べて差分をja.jsに追加します。
別途下記を追加
,"4_1_2_attribute" : 'attribute'
翻訳はご自由に・・
追加後再度 buildします。
A11ygatorブラウザー拡張機能のソースを変更します。
下記からソースをダウンロードします。
https://github.com/chialab/a11ygator-extension
│ .gitignore
│ LICENSE
│ logo.svg
│ Makefile
│ manifest.json
│ README.md
├─background
│ background.js
├─devtools
│ devtools.html
│ devtools.js
│ report.css
│ report.html 〇
│ report.js
├─lib
│ ├─css
│ │ loader.css
│ │
│ └─js
│ helpers.js
│ HTMLCS.js ◎
│ runner.js
├─popup
│ popup.css
│ popup.html 〇
│ popup.js
├─resources
│ icon.png
├─settings
│ settings.css
│ settings.html 〇
│ settings.js
└─store
banner-440.ai
banner-440.png
banner-920.ai
banner-920.png
icon.ai
icon.png
inspect.gif
popup.jpg
◎はHTML_CodeSnifferをビルトしたものに上書きします。
〇htmlを日本語化します。
<html lang="en">とか、英文を英語にします。
ディレクトリ毎 削除しない場所へ移動します。自作ブラウザー拡張機能になりますので
指定したディレクトリが動作ディレクトリとなります。
Chromeは、拡張機能へ行ってからデベロッパー モードをオンにして、パッケージかされていない拡張機能を読み込む
を選択して該当のフォルダーを選択して自作拡張機能を有効にします。
下記から拡張機能管理を選択します。
展開して読み込みを選択して作成したディレクトリを選択します。
上記で自作拡張機能がインストールされます。
エラーが表示されますが動作します。
どうも拡張機能V2からV3にしてねって感じですが、筆者には、拡張機能の開発経験がないので・・・
Edge,Chromeで文字のカラーコントラストを確認方法
開発ツールで選択ボタンを押して、指定のとこを選択すれば。。
緑のチェックマークが付いてればOKです。
あとはCSS概要(CSS Overview )からも確認できます。Lighthouseからと同じです。
その他ツール
Colour Contrast Analyser
Windows、Macアプリケーションのツールで、WCAG2.1基準に基づいたカラーコントラストの合否判定できます。
背景と文字色なりを選択して評価になります
https://www.tpgi.com/color-contrast-checker/
WCAG Contrast checker
こちらはブラウザーで閲覧しているページでチェックをしてくれます。
どこでエラーになっているか判断できます。
chrome ウェブストアは下記から
https://chrome.google.com/webstore/detail/wcag-color-contrast-check/plnahcmalebffmaghcpcmpaciebdhgdf
Landmark Navigation via Keyboard or Pop-up
ランドマークってなに?
これは、スクリーンリーダーの機能となります。
キーボード操作によってランドマーク間をジャンプ移動できる機能になります。
HTML5の場合、<header>、<nav>、<aside>、<footer>...といった要素がランドマーク対象になります。また
WAI-ARIAでもrole="navigation"、role="main"の要素を追加することでランドマークとして認識されます。
スクリーンリーダーでは、見出し間の移動(<h1>、<h2>、<h3>・・・)という機能もあり、こちらは、ナビゲーションタグは反映されないための
この2つの併用で使用するようです。
現在の一般的なブラウザーでのキーボード操作では、タブ移動(リンク箇所、入力エリア)の移動のみなので、スキップするの大変ってことです。
見出しの移動でも正しく、見出しタグを順番に使用してコーディングしていないと、こちらの機能も使用しずらいってことになります。
下記プラグインでは、スクリーンリーダーをインストールしなくてもランドマークの確認ができます。
chrome ウェブストアは下記から
https://chrome.google.com/webstore/detail/landmark-navigation-via-k/ddpokpbjopmeeiiolheejjpkonlkklgp
アクション | キーボードショートカット |
ポップアップを表示 | Alt+Shift+L |
メインランドマークに移動して強調表示する | Alt+Shift+M |
次のランドマークに移動してハイライト表示する | Alt+Shift+N |
前のランドマークに移動して強調表示する | Alt+Shift+P |