読者です 読者をやめる 読者になる 読者になる

TRANS

神戸のNPOやソーシャルビジネスの創業・起業のお手伝い

CAPTCHAをアクセシブルにするための色々な取り組み

ユーザビリティ・アクセシビリティ

自分用メモなのですが、せっかくなので公開します。CAPTCHA(Webサービスに登録する時やブログにコメントをつける際に認証を求めてくる、文字がぐにゃっとした画像)を知っている人も多いと思うし、それがスクリーンリーダー利用者などの、一部の人たちにとってはアクセシビリティ上大問題ということを知っている人も多いと思います。じゃあ、それではアクセシビリティは無視か?!というとそうでもなくて、どうやら色んな取り組みが行われているようです。


スクリーンリーダーのCAPTCHAの読み上げ方


まず、おさらいです。スクリーンリーダーはどういうふうにCAPTCHAを読み上げるのか。英語の動画ですが、次の動画が最も分かりやすい。

内容はちょっと違うのですが、海外の大手SNSで登録の際にCAPTCHAを使っているところが多くて、スクリーンリーダー利用者は登録できないじゃないか!というビデオ。でも、別にSNSだけではなく、色んなWebサービスで使われていますよね、最近は。


ただ、このCAPTCHAに関しては、やはり疑問に思う人も少なからずいるみたいで、色んな取り組みが各地で行われていますよ、というのがこのエントリーの趣旨です。ちなみに、W3CCAPTCHAに関しては「うーん、どうなのよ、それ」と懐疑的なご様子。(参照:Inaccessibility of CAPTCHA


CAPTCHAへのアプローチ方法


では、実際どういった取り組みの方向性があるのか。詳しくは上記で紹介したW3Cのページが端的に分かりやすく説明しているのですが、Wikipediaにもそれに近い情報があります。(参照:"Attempts at accessible CAPTCHAs"W3Cのページから要点だけ和訳してしまうと、

  1. ロジックパズル(一般常識や簡単な計算式などに答えてもらう)
  2. サウンドアウトプット(コンピューターでは認識しにくい音声でパスワードなどを流し、認証を行う)

ということらしいです(W3Cのページではほかのアプローチも紹介されていますが、それらはCAPTCHAを回避した上で、どんな解決策が考えられるのかということみたいですので、あえて除外しました。)


ロジックパズルという取り組み


ロジックパズルとは、例えば「1+1は何か」などの簡単な計算式とか、「空は何色か」などの一般常識に回答してもらうことにより、その認証を行うというもの。実際に、作られたものもあるようです。


論理型認証方式のBrainBuster | アクセシビリティBlog | ミツエーリンクス


ただ、このロジックパズルの問題点は、上記W3CWikipediaなどでも書かれていますが、

  1. こういった質問を完全に自動化するのが難しい。(もしパターン数を決めてしまえば、その公式がスパマーに破られる可能性がある)
  2. 一般常識が一部の人たちによっては一般常識ではないかもしれない。
  3. 認知や知的に障がいがある人にとっては答えるのが難しいかもしれない。

という問題点があるようです。


また、このロジックパズルには違った方法もあります。どこのMLで紹介されていたのかは忘れましたが、あるブログのコメントが取り組みとしてアリなんじゃないか、と。


そのブログでは、コメントをする際に「確認」というふうに文字を打ち込まないといけません。(要はCAPTCHAのように)しかし、これではアクセシビリティ上の問題を抱えたままです。


しかし、その「確認」の画像にalt属性で「確認を入力してください」とすると、一気にスパムの餌食になってしまいます。そこで、文字に対するalt属性を「確認」とするのではなく、「「かくにん」を漢字変換したものを入力して下さい。1文字目が「たしかめる」で2文字目が「みとめる」です。」というふうにalt属性に書かれているのです。


要は、このalt属性の部分に対して、任意の文字列を自動的に変換するようなスクリプトやプログラムがあれば、スクリーンリーダーではない人はCAPTCHAの文字列を、スクリーンリーダー利用者はalt属性を、というような使い分けができるのじゃないか、ということです。


ただ、それでも英語だとどうしてもアルファベット数が少なく、見破られてしまう可能性もあるかもしれません。これらの点を踏まえると、音声をうまく合成して、コンピュータには聞き取れないが、人間には聞き取れる、つまりサウンドアウトプットのほうがより妥当な解決策であるような気がします。


サウンドアウトプットという取り組み


この方法はGoogleも取り組んでいるようです。今年3月に米国でCONFERENCE 2007 Technology & Persons with Disabilities Conference(通称:CSUN)というイベントがあり、そのカンファレンスに出席したGoogleのセミナーの内容がいくつか報告されています。

詳細はイマイチ分からないのですが、Googleの各種Webサービスに登録する際には、スクリーンリーダー向けのパスワード認証を置いておく(スクリーンリーダーではない人たちはCAPTCHAを読む)。単にCAPTCHAの文字列を音声で読み上げるだけでは、スパマーに読み出されてしまうから、中国語か何かの文章を背景に流しておき、その上でCAPTCHAの文字列を読み上げさせる。ただ、中国語が分かる人からすると、むしろその音声の意味が分かってしまい、認証の失敗率が高くなってしまう、とのことです。


また、拓殖大学:音声による認証テストという調査結果もあります。どうやら、背景に音声を流し込んでおいて、その上で必要な文字を流すというGoogleのような手法のようです。


実際に使えるかどうかは分かりませんが、1つの方法としてはこれからメジャーになっていくのかもしれません。


まだまだ取り組みとしてはいろんな方法が議論されて、完全な標準というのはできてはいませんが、今後もこういった動きには注目していきたいなと思います。