私は現在ハニーポットのソリューションを使って自分のサイトで迷惑メールを防止しています。ランダムな名前のフィールドをいくつか追加し、HTMLエレメントにstyle="display : none;"
を追加してCSSで非表示にします。提出されたときに、これらのフィールドのいずれかが空でない場合、これはすべきことです。これは、スパムロボットがフォームを送信したばかりです。それまたは悪意のあるユーザーいずれにしても、投稿は拒否されます。アクセシビリティ機能を備えたブラウザでCSSまたはJavaScriptをサポートしていますか?
これで完全に動作しますが、私はすべてのユーザーがCSSをサポートするブラウザを持っていると仮定しています。
CSS display
属性がに等しいすべてのフィールドを削除すると、CSSサポートのないブラウザでは、非表示のフィールドが表示されなくなる可能性があります。
ので、これがサポートするブラウザのために正常に動作します:
- CSSとJavaScript
- 両方のみCSS
- JavaScriptのみ
私の質問は、その後、用のブラウザを行うれますブラインドまたはその他のアクセシビリティをターゲットとしたブラウザはCSSとJavaScriptのみをサポートし、CSSのみ、またはJavaScriptまたはなし?
あなたの答えをありがとう! (そして誰もがelses)。私が追いつくとは思わない唯一のアドバイスは、 "このフィールドを無視する"ラベルを追加することです。スパンボットがそれを認識するのが非常に簡単になるからです。 – federicot
記事表示によれば、ほとんどの場合、noneは動作しますが、JSも機能します。ユーザーはフィールドを表示しなくなる可能性が最も高いため、ラベルが見つからないことがアクセシビリティになることはないと推測していますここに問題があります – federicot
私はスパムボットのエキスパートではありませんが、特に 'label'タグで言い回しを解釈するとは思えません。ボットはたぶん 'input'sを探してジャンクを押し込もうとしているページを擦っているだけなので、これは無視されます。ボットが "無視"、 "スキップ"などの入力をスキップすることを知っていることを示す記事がある場合は、共有してください。 –