SafariでのDiscourseと1Password 7 Betaとの競合

こんにちは、皆さん! :wave:

1Password 拡張機能チームの Jarek です。今朝、@osioke さんが私たちのためにセットアップしてくれた Discourse のトライアルインスタンスを少し探ってみました(ありがとうございます!)。その結果を共有します。

この特定のフィールドを確認したところ、最新の 1Password X 安定版ではもう表示されなくなっているようです。今後再び表示されないよう、社内テストケースを追加しました!:smile:

確かにここでも表示されていることを確認しました。フィールドの上にあるラベルに「招待」という言葉が含まれていることを基に、社内テストケースを追加し、この現象を防ぐ変更を行いました。次の 1Password X ベータ版がリリースされたら、ぜひお試しください :slightly_smiling_face:

残念ながら、私たちの側で対処できないフィールドを以下の URL で見つけました(admin/users/list/active ルート):

このフィールドに関する情報を収集するスクリプトは、以下の情報を取得しています:

{
    "htmlId": "ember921",
    "htmlClass": "ember-text-field ember-view",
    "isActive": true,
    "opid": 5,
    "placeholder": "username, email or IP address",
    "type": "text",
    "labelBefore": "Show Emails"
},

1Password がこのフィールドに表示されないようにするためのターゲットとなる要素はここにはありません。1Password からすれば、これは自動入力が必要なログイン情報に見える可能性があります。

1Password を支援するために、皆さんができることがいくつかあります。まず、autocomplete="off" 属性を使用する方法です。私たちは最近、この属性の意図をどのように追跡するかという新しい戦略を導入しました。もしこのフィールドが autocomplete="off" になっていた場合、フィールド下のメニューオプションはデフォルトで非表示になり、UX が大幅に改善されるはずです。

Chrome チームのいくつかの判断により、これが難しいことは理解しています。社内では autocomplete="discourse"autocomplete="off" と同様に扱うことを検討していますが、現時点で何らかの保証はできません。しかし、これは私たちの頭にある課題です。

さらに良い方法があります。1Password にこのフィールドを完全に無視させるには、このフィールドがログイン用ではなく検索用であることを示す必要があります。そのためには、フィールドに name="user-search" 属性(または id="user-search")を設定してください。1Password は名前や ID の末尾に「search」が含まれていることを検知し、そのフィールドへのログイン提案を避けます。

その変更を加えたフィールドの見た目は以下のようになります:

Imgur

1Password はこのフィールドに対して提案を行わなくなります。これは、今日から 1Password の表示を防ぐために、同様の検索用フィールドに適用できる変更です!:smile:

また、admin/email ルートにある「テスト用のメールアドレス」フィールドも、autocomplete="off" を使用することで大幅に改善されると気づきました。

私が気づいた問題はこれらです。もし見落としがあれば、お知らせください。引き続きここで議論できることを嬉しく思います!私たちは常に提案の精度を高め、表示・非表示の判断をより正確に行えるよう改善に取り組んでいます。

「いいね!」 12