web-dev-qa-db-ja.com

アクセシビリティとCAPTCHA

CAPTCHAをウェブアプリケーションに含めたいのですが、障害や障害を持つ個人が自分のウェブアプリケーションにアクセスできるようにしたいと思っています。どうすればよいですか。

たとえば、CAPTCHAをアクセシブルにする方法や、アクセシビリティを犠牲にすることなく同様のセキュリティ目標を達成する方法に関するリソースを知っている人はいますか? CAPTCHAのアクセシビリティと使用に関するベストプラクティスはありますか? CAPTCHAを使用するときに、政府のWebサイトのアクセシビリティ要件に準拠し、障害または障害を持つ個人がそのWebサイトを確実に使用できるようにする方法についての読みを知っている人はいますか?

多くのサイトが代わりのオーディオCAPTCHAを提供していることを確認しました。視覚障害のある人(または、CAPTCHAを読めない人)が代わりに使用できます。たとえば、reCAPTCHAはビジュアルCAPTCHAの代わりにオーディオCAPTCHAを提供することを知っています。ただし、これらの選択肢の存在に単に気づくだけでなく、アクセシビリティを提供する正しい方法についてはまったく知りません。オーディオCAPTCHAはアクセシビリティを提供する良い方法ですか?オーディオCAPTCHAはすべてのブラウザー(追加のプラグインなし)でサポートされ、障害を持つすべてのユーザーが使用できますか?または、推奨するより良いアプローチはありますか?外部委託できる既存のソリューションはありますか?

更新:私は CAPTCHAの代替 があることを理解しています==これは、スパムとの戦いなど、多くの一般的な状況で十分な場合があります。私は多くの標準的な代替案を調査しましたが、それらは私の特定の状況に適していないことがわかりました。したがって、私はdoCAPTCHAを使用する必要があると仮定して、アクセシビリティのために何ができるかに焦点を当てることを期待しています。 (CAPTCHAの代替をリストすることは、私にはおそらく役に立たないでしょう。)

13
D.W.

送信にかかった時間を測定するソリューションを実装しました。

  1. フォームのあるページに到着したら、時間を入力してセッション変数を設定します
  2. フォームを実際に処理するコードにアクセスしたら、入力と送信にかかる時間がばかばかしく高速でないことを確認してください

本当にうまく機能し、完全にアクセス可能です。

これがデモです: http://www.frankdesignltd.co.uk/blog/using-sessions-to-stop-spam/

11
beingalex

残念ながら、オーディオCAPTCHAはアクセシビリティを提供する良い方法ではありません。たとえば、reCAPTCHAの代替オーディオの現在のバージョンは、視覚障害者に多くの問題を引き起こしています。 reCAPTCHA Googleグループ でいくつかの議論を見ることができます。

タウソン大学の一部の研究者は、非テキスト画像と音声を組み合わせた アクセス可能なCAPTCHAの代替に取り組んでいました(PDF要約) 。この論文は、2009年に米国工学教育協会によって発行されました。最初の論文以来、更新はありません。

CAPTCHAは軍拡競争であり、現在のところ、ボットが優位に立っているようです。スパムコンテンツをブロックするのではなく、偽のユーザー登録を防ごうとすると、コンテンツ分析の余地が少なくなります。これらのツールを機能させるためだけにコンテンツを収集することを検討しましたか?したがって、自由形式のテキストフィールドを自由回答形式の質問を使用してサインアップフォームに追加し、AkismetやMollomなどを緩めます。

8
cboyden

私に関する限り、CAPTCHAは死んでいます。画像ベースと音声ベースのCAPTCHAを無効にすることへの多大な投資と研究があり、それらをほとんど読めない(または聞こえない)ようにする必要があり、悪意のある人はまだでダースの人を雇うことができますとにかくそれらを解決するための第三世界。

私は最良の方法はダミーのフォームフィールドを含めることです:

<form method="POST" action="/target">
    <input type="hidden" name="userid" value="1337" />
    <div class="formField" id="contactFieldName">
        Name: <input type="text" name="name" value="" />
    </div>
    <div class="formField" id="contactFieldEmail">
        Email: <input type="text" name="name" value="" />
    </div>
    <div class="formField" id="contactFieldSubject">
        Subject: <input type="text" name="subject" value="" />
    </div>
    <div class="formField" id="contactFieldFoo">
        Foo: <input type="text" name="foo" value="" />
    </div>
    <textarea rows="15" cols="80" name="message"></textarea>
</form>

次に、CSSで:

#contactFieldFoo {
    display: none;
}

最後に、ターゲットスクリプトで、「foo」フィールドが空白であることを確認します。これにより、すべてのドライブバイスパムボットが無視されるようになります。

6
Polynomial

私は、reCAPTCHA、AOL CAPTCHA、およびGoogle CAPTCHAを含む いくつかのCAPTCHAのアクセシビリティの有用な分析 を見つけました。アイコンとテキスト入力フィールドが表示される順序や、スクリーンリーダーを使用しているユーザーのワークフローへの影響など、注意が必要ないくつかの問題が強調されています。

警告:分析は3年以上前に作成されたため、コメントが引き続き適用されるかどうかはわかりません。また、Webアプリケーション設計者が新しいWebアプリケーションを開発していて、アクセス可能なCAPTCHAが必要な場合、Webアプリケーション設計者が使用できる既製のライブラリ/ソフトウェア/ツールキットが存在するかどうかも明確ではありません。 (reCAPTCHAisはすぐに利用できますが、分析ではそのアクセシビリティが低いと評価されています。分析ではAOLとGoogleのCAPTCHAがはるかに優れていますが、一般にこれらは利用できませんその他)

3
D.W.

私は最近Captchaの使いやすさとアクセシビリティをよく読んで、 "honeypot"メソッドは、他のすべての選択肢とは対照的に、これまでで最も有用で安全な代替手段であるように思われました。

あなたはあなたのケースでCaptchaだけを使いたいと思っています。私のすべてのリーディングの中で、確かにReCaptcha最良の代替案次に:OCRによって認識されないことがすでにわかっている単語を使用するだけでなく、キャプチャでのみ使用されます。これらの単語は既存の単語であり、ランダムな文字列ではないため、非常に安全で使用可能です。

これで、10秒かかることに注意してください。画像(テキスト)キャプチャを平均するには平均が聞こえる場合、オーディオキャプチャを解決するには平均で約28秒かかります。これは、オーディオキャプチャがあまり使用できないことになりますが、これは、これまで障害のある人のための唯一の代替手段です。

あなたに役立つかもしれないいくつかの読書:

http://cdn.ly.tl/publications/text-based-captcha-strengths-and-weaknesses.pdf

http://haacked.com/archive/2007/09/11/honeypot-captcha.aspx

https://wiki.umn.edu/pub/UmmCSciSeniorSeminar/Spring2012Talks/CodySutherland.pdf

http://www.ijcns.com/pdf/ijpc45-51.pdf

http://cups.cs.cmu.edu/soups/2008/proceedings/p44Yan.pdf

http://theory.stanford.edu/~jcm/papers/captcha-study-oakland10.pdf

1
Ivan