ColorTester のコマンドラインツールを公開します。
公開日 : 2017-12-09 12:40:06
このブログ記事は Web Accessibility Advent Calendar 2017 の9日目の記事です。
画像認識やOCRを使って画像の代替テキストを自動生成する試み
少し前振りとなりますが、PowerCMS Conference で最も反響が大きかったのが、画像認識もしくはOCRによる画像の代替テキストのサジェストでした。この機能は Microsoft Azure の Computer Vision API を利用しています。文字情報メインの画像はOCR(テキスト抽出)で、写真の場合は画像解析を選択します。精度は現段階(2017年末)で、OCRの方は相当なもので、写真の方もまずまず、どちらかと言えば機械翻訳の方がもう少し精度上がれば実用的になってくるかと思います(画像はComputer Vision APIのページから)。
ColorTester のコマンドラインツールを作成しました
さて、このComputer Vision API にも「背景のドミナントカラー」「前景のドミナントカラー」を自動抽出してくれる機能があります。実は私が作成して公開している ColorTester にも同等の機能があります。
色のコントラストについては、現在ワーキングドラフトとなっている https://www.w3.org/TR/WCAG21/ でも新たな項目が追加されており、従来の文字と背景色以外にも形状が意味を持つグラフィックやフォームのコントロールなどについてもコントラスト比を確保することが求められています。
そこで、というわけでもないのですが、ColorTester のコマンドラインツール(コンソールアプリケーション)を作成しました。
使い方についてはヘルプを見ていただくとして、このツールではコントラスト比だけでなく画像に関する様々な情報を得ることができます。
$ ./colortester -h
usage: colortester \#000000 \#FFFFFF
colortester -hex \#000000 \#FFFFFF
colortester -picture /path/to/image.png
colortester -picture /path/to/image.png -type JSON
colortester -picture /path/to/image.png -pixelx [pixel x]] -pixely [pixel y] (print hex string)
colortester -picture /path/to/image.png -bx [background pixel x] -by [background pixel y] -fx [foreground pixel x] -fy [foreground pixel y]
colortester -picture /path/to/image.gif -isAnimated?
この画像を解析してみます(画像は同じくComputer Vision APIのページから)。
./colortester -picture /path/to/image.jpeg -type JSON
{"Status":"OK","BackColor":"#005FCF","ForeColor":"#BFDFEF","isPicture":true,"isText":false,"TotalPixel":277200,"Score":4.5,"isAnimatedGif":false,"Result":"4.2 : 1"}
コントラスト比以外に、写真かどうか(isPicture)、テキストを含むかどうか(isText)、アニメーションGIFかどうか(isAnimatedGif)などの情報を返してくれます。バッチ処理を書いて大量の画像に対して一括テスト(簡易テストではありますが)を行う、などの活用ができるんじゃないかと思います。
ロジックについて興味のある方は、こちらを。
Webアクセシビリティの Automated Testing もしくはツールによる自動改善はどこまで有効なのか?
個人的には2045年問題などと言われていることもありますし(人工知能が人間を超えると言われている)、いずれは画像認識技術や文章を解析して自動でマークアップしてくれるなんて世の中になるんだろうな、と思っています。そうなるとむしろWebアクセシビリティの向上というよりは支援技術が情報発信側の未熟さをカバーしてしまうなんてことになるんでしょうね。
つまり、Webアクセシビリティ改善に取り組むこと、こういったソフトウェア技術を開発し、改善していくことは2045年までの過渡期の対応と言えたりして。とはいえ、2045年まで、あと27年以上あります。是非こういったツールなども活用していただければと思います。
明日は24motzさんの「NVDA 行く年くる年」です。お楽しみに。