cmd/ctrl-f のオーバーライドを削除

\u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003eF\u003c/kbd\u003e (または \u003ckbd\u003e/\u003c/kbd\u003e、効果は同じ) をトリガーしたため、デフォルトのブラウザ バインディングがなく、フォールバックできません。より大きなトピック (たとえば、こちら) で試して、通常の \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eF\u003c/kbd\u003e を使用してください。

「いいね!」 2

ありがとうございます。それが原因のようです。ChromebookでCtrl-Alt-Fになる理由をご存知ですか?それはそこで標準のキー操作なのですか、それともそのプラットフォームではオーバーライドできないのですか?

可能であれば、Discourseでプラットフォーム間で一貫性を持たせない理由は何でしょうか。

通常、Altキーも同時に無効になります。Windowsで例として使用しています。互換性などに関する何かがここにあるはずです。

これらのユーザーは、ブラウザが処理できない現在のURLを検索するためにCtrl+Fを期待しています。これは、20件の投稿しか読み込まれていないためです。ポップアップには、ブラウザ機能を使用したい場合は、もう一度Ctrl+Fを入力するだけでよいと表示されます。

現在のトピックのすべての投稿を検索できるようにするための、より直感的な方法があれば教えていただけますか?

「いいね!」 2

これの驚くべき皮肉。

  1. この投稿に関するメールアップデートを確認しました。
  2. リンクをクリックして読み始めました。この声明が表示されます。
    トピック内で投稿を見つけるために期待することは、コントロールFで投稿を見つけることだと思いますが、それはあなたが望むものではありません。「ブラウザが見つけられなくても、トピック内の投稿を見つける」キーは何ですか?コントロールFが現在のトピックで投稿を見つけられないのは、期待の違反ではありませんか?
  3. 返信したいと思いましたが、ログインしていないことに気づき、テキストをハイライトしてコピーしました(ログイン後に検索/見つけるため)。
  4. 画面右上のログインをクリックし、ログインプロセス全体を実行しました。
  5. 投稿に戻されましたが、スレッドの先頭でした。
  6. cmd-fを押しました。
  7. cmd-vを押しました。
  8. Enterキーを押しました。
  9. 何も見つかりません。

まるで、これは作り話ではありえないかのようです。この機能の全体的な目的は、「まだページにないもの」を見つけることであり、それが機能しないのですか?


そして、実際のコメントに返信します。
いいえ、それは期待の違反ではありません。cmd-fの期待は、ページにない場合は何も見つからないということです。cmd-fは、インターネットの「この「投稿」を検索」ではありません。あなたはそれを空中で作り上げました。そのものがページにない場合は、何も見つけないでください。それは大丈夫です。

補足1:
何かを見つけた場合でも、まったく新しいパラダイムを学ぶことなく結果をナビゲートできません(いいえ、上下/Enterはそれほど難しくありませんが、それはDiscourseサイトに固有の異なるものです)。また、インターネット上の他の場所のように、見つかった結果を反復するためにcmd-fを複数回押すこともできません。

補足2:
あなたが構築したcmd-f機能には、ネイティブ機能にはないさまざまな制限があります。「検索語が短すぎます」はそのうちの1つです。私は、関連性があるため、この投稿で「/」を検索しようとしましたが、できませんでした。

補足3:
これらすべてが、一部の投稿が非常に非常に非常に大きくてページにロードできないという理由であるというのは、非常に無理があるように思えます。今日のインターネットでは、スタックのあらゆるレイヤーでキャッシングのオプションがあるため、それを処理するのは難しいです。おそらく、解決する価値のある「バグ」はそれですか?

「いいね!」 1

これを100%理解しているかどうかわかりません。2回押すことの問題は何ですか?それはあなたが望むことをしないのですか?

「いいね!」 1

cmd-fを2回押している間、リンクのトリプルクリックも始めるべきでしょうか?それを実装しましょうか?


ここであなたが論点をどれほど見誤っているかは、ある種の深遠さがあります。ブラウザの動作のデフォルトを変更しました。 これは非常に予期せぬことです。

「いいね!」 3

同意します。私の期待はページ内で見つけることです。ハイジャックは、ctrl-g、ctrl-shift-g の動作も壊します。

Discourse がこれをオーバーライドしたいと思うのは理解できます。それは、すべての投稿が読み込まれるというユーザーの期待を壊すためです。しかし、これは、どの投稿が読み込まれたか、または読み込まれなかったかを正確に示すことで解決できるかもしれません。古いページネーションアプローチはこの点で透明です。

スレッド検索ツールはもちろん便利です。ページネーションモードでも無限スクロールモードでも。単に、標準的な動作と衝突するホットキーではなく、「スレッド検索」ボタンなどを介して別の方法で公開するのではなく、ある種の検索を別の種類の検索でハイジャックするのは、不快で混乱を招きます。

あまり文句を言いたくありません。設計上の決定は理解できますし、私もそれに慣れました。しかし、「期待の違反」という仮定は正しくないと考えていることを指摘したかっただけです。

検索する人にとっては、予期しないことが組み合わさってバランスを取る必要があります…それは「どれを選ぶか」という状況です。

  • パフォーマンス上の理由から、スクロール時にはすべてのコンテンツが利用できるわけではありません。Discourse は GIF、動画、投票、カレンダー、iframe、チャートなどのさまざまなコンテンツをサポートしています…トピックにはこれらのコンテンツが1000個存在する可能性があります。これらすべてを DOM に保持すると、ページが使用不能になる可能性があります。

  • ユーザーは現在どのコンテンツが読み込まれているかを知ることができず、ctrl + f の効果に影響します。この期待は、すべてのコンテンツが同じ「ページ」にあるという前提に基づいているため、検索可能になります。

ctrl + f がページ全体を検索するという期待があり、ページ全体が利用できないため、中間的な解決策が試みられています。

この問題を解決するために、すでにいくつかの議論が行われています。

  • 投稿内の動的なコンテンツ(画像を含む)を無効にする。

これは起こりません — 動的なコンテンツを許可している競合他社(Facebook、Discord、NodeBB、Khoros、Higher Logic など、数え切れません)のいずれかに対して、一晩で顧客をすべて失うことになります。

  • 無限スクロールを無効にして、従来のページネーションを使用する

より可能ですが、これは本当にこの問題を解決するのでしょうか? 1 ページあたりに読み込まれる投稿の数を制限することでブラウザの負荷を軽減し、ユーザーは読み続けるために手動でページをめくる必要があります。

これで ctrl + f は期待どおりに機能しますが、実際には記憶力と同じくらいしか機能しません。

10 ページにわたって 100 件の投稿を読んだばかりで、読んだばかりのものを検索したい場合…それは 2 ページ目ですか? 3 ページ目ですか? 私の記憶力はそれほど良くありません。

そのため、おそらく次のようなことを行うことになります… ctrl + f… 戻る ctrl + f… 戻る ctrl + f…?

ブラウザのデフォルトに固執したとしても、ここには単一の優れた体験はないように思えます。Discourse では、ブラウザのデフォルトがないことに不満がある場合は、1 つのことを学ぶ必要があります。

「いいね!」 8

投稿や議論は、常に礼儀正しく生産的に行うよう心がけてください。もし議論が過度に口論的になったり、本質から外れたりするようであれば、このトピックを閉じさせていただきます。:pray:

「いいね!」 7

誰もそれを否定していません。ただ、それを実行するために cmd-f を乗っ取らないでください。選択できるキーボードの組み合わせは数え切れないほどあります。そのうちのどれかを選んでください。

「いいね!」 3

しかし、自動ページネーションにより ctrl + f が期待どおりに機能しないという点が重要です。そのため、トピック内のすべてのコンテンツを実際に検索できる代替案が最初に提案されています。

したがって、すべてのトレードオフを考慮すると、説明するのは次のどちらかになります。

  • 検索が機能しなかったのは、スクロール中に自動的にページがめくられたためです。代わりに :mag: をクリックするか、(代替ショートカットである) / を使用してください。

  • 検索機能はより良い体験を提供するかもしれませんが、そうでない場合は再度ショートカットを使用してください。

スクロール中に一部のコンテンツが非同期で読み込まれたために ctrl + f が機能しなかった場合、あなたは同じように不快に感じますか?その場合、アプリ内検索を解決策として試しますか?上にスクロールしてからもう一度試しますか?それとも何か他のことをしますか?

「デフォルトだからやらない」(これは期待値の観点から有効ですが)以外にも、考慮すべき追加の議論があるかもしれません。

「いいね!」 7
  • オーバーライドはDiscourse固有のものではありません。言及されている他の場所の中でも、Microsoft OfficeツールはCtrl+Fをオーバーライドします。これは同様の理由(つまり、すべてのテキストがCtrl+Fで利用できるわけではない)で行われています。
  • 実際の機能/意図は上書きされていません。「部分文字列を検索する」機能です。Ctrl+Fがブックマークコマンドに上書きされた場合、私は同情的でしょう。
  • 単純なブラウザのCtrl+F機能は、理由を示すことなく失敗することがよくあります。テキストがトピックに存在しない場合に、実際には存在しないと推測するのは簡単ですが、これは必ずしも真実ではありません。トピックが簡単に短くない場合、ほとんどの検索は偽陰性になります。Ctrl+Fを効果的に使用するには、Discourseの無限スクロールの実装の詳細を理解していることをユーザーに期待させることになります。
  • オーバーライドが気に入らず、投稿のページネーションの仕組みを理解している人にとっては、もう一度押すだけで済みます。

ここで主な問題は、ユーザーの期待を壊したくないということであれば、最終的には、透明性を持って期待を壊す(ネイティブではない検索バーを開く)よりも、暗号的に期待を壊す(テキストが実際にはトピックに表示されているのに、Ctrl+Fが「一致なし」と言う)方が大きな悪であると言えます。

現在のままにしておいてください。

「いいね!」 8

文化をここで維持したいというお気持ちは理解できます。私もそれに賛成ですが、ユーザーをモデレートすることを検討してください。トピックを閉鎖することは、コミュニティ全体に影響を与えます。これは明らかに議論したいトピックです。

おっしゃることは理解できます。検索機能は、トピックまたはスレッドの検索と、トピックまたはスレッド内のキーワードの検索という2つの目的を持つべきです。

「トピック」と「スレッド」は同じ意味で使っていますが、意味は明確だと思います。