# Remove overriding of cmd/ctrl-f

**URL:** https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825
**Category:** UX
**Tags:** keyboard-shortcuts
**Created:** [April 21, 2024, 10:09pm UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825 "2024-04-21T22:09:30Z")
**Posts on this page:** 15
**Page:** 2

<div class="post-metadata">

### Author: ![Firepup650](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/firepup650/32/465200_2.png) [@Firepup650](https://meta.discourse.org/u/Firepup650)
#### Post date: [June 9, 2024, 7:57am UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/27 "2024-06-09T07:57:56Z")

</div>

Because you triggered Ctrl + Alt + F (or /, same effect.), and that has no default browser binding to fall back to. Try on a larger topic like [this one](https://meta.discourse.org/t/locations-plugin/69742), and use normal Ctrl + F.

---

<div class="post-metadata">

### Author: ![Isambard](https://avatars.discourse-cdn.com/v4/letter/i/858c86/32.png) [@Isambard](https://meta.discourse.org/u/Isambard)
#### Post date: [June 9, 2024, 11:12am UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/28 "2024-06-09T11:12:34Z")

</div>

Thanks. That seems to be the reason. Anyone know why it is ctrl-alt-f on Chromebooks? Is that the standard keypress there or it is somehow not possible to override on that platform?

I wonder why not be consistent for Discourse across all platforms where possible.

---

<div class="post-metadata">

### Author: ![Firepup650](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/firepup650/32/465200_2.png) [@Firepup650](https://meta.discourse.org/u/Firepup650)
#### Post date: [June 9, 2024, 3:35pm UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/29 "2024-06-09T15:35:22Z")

</div>

> [@Isambard](#):
>
> Anyone know why it is ctrl-alt-f

It also yoinks the alt one normally, I’m on windows for example. There’s probably something somewhere here about compatibility or something.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [June 10, 2024, 1:56pm UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/30 "2024-06-10T13:56:02Z")

</div>

> [@Isambard](#):
>
> I think Ctrl-F is the standard ‘find text in page’ functionality of the browser which I think is better not to override.

Those users also expect control-f to search in the current URL, which the browser can’t do since only 20 posts are loaded. And the pop-up explains that if you want to use the browser function you just need to type control-f again.

 ![This image shows a dark search bar or input field with the text "Click + f again to use native browser search" displayed in light gray color on a black background. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/e/0/9/e0934e1da8a64fdd034a8f8358de44823b98c894.png)

Do you have a more intuitive way to allow people to search all the posts in the current topic?

---

<div class="post-metadata">

### Author: ![jaaaasshh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jaaaasshh/32/380386_2.png) [@jaaaasshh](https://meta.discourse.org/u/jaaaasshh)
#### Post date: [June 10, 2024, 3:50pm UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/31 "2024-06-10T15:50:33Z")

</div>

The astounding irony of this.

1. Saw email update about this post.
2. clicked link and started reading. See this statement:  
`It would seem like what you would expect is for control-F to find the post you want in that topic, but that’s not what you want. What’s the “find the post in this topic even if my browser can’t find it” key? Isn’t having control-f not find a post in the current topic a violation of expectations?`
3. Wanting to respond, but realizing I wasn’t logged in, I highlighted and copied the text (so I could search/find it after logging in)
4. Clicked login in top right of screen and did the whole login thing
5. was redirected back to the post, but at the top of the thread.
6. pressed cmd-f
7. pressed cmd-v
8. pressed enter
9. finds nothing

Like, you can’t make this up. The whole point of this thing is to find things that “aren’t on the page yet” and it doesn’t work?

* * *

And to respond to the actual comment:  
No, it’s not a violation of expectations. The expectations of cmd-f are that if it’s not on the page, nothing is found. cmd-f is not “search this ‘post’” on the rest of the internet. You’ve created that out of thin air. If the thing isn’t on the page, find nothing. That’s okay.

Aside #1:  
Even when it does find something I can’t navigate the results without learning an entirely new paradigm (no, up/down/enter isn’t that hard - but it’s _different_ and _unique_ to discourse sites). I also cannot press cmd-f multiple times to iterate through found-results just like I can on the rest of the internet.

Aside #2:  
The cmd-f functionality that you’ve built has various limitations that the native functionality doesn’t have, 'Your search term is too short." being one of them. I tried searching this post for `/` because it’s relevant and I’m unable to do so.

Aside #3:  
It seems like a huge stretch that the reason for all of this is because some posts are really really really big and cannot be loaded on the page. I just find that hard to process in today’s internet with all the options we have for caching at every layer of the stack. Maybe thats the ‘bug’ worth solving for?

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [June 10, 2024, 4:30pm UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/32 "2024-06-10T16:30:41Z")

</div>

I’m not sure I’m 100% following this? What’s the issue with pressing it twice? Doesn’t that do what you want it to?

---

<div class="post-metadata">

### Author: ![jaaaasshh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jaaaasshh/32/380386_2.png) [@jaaaasshh](https://meta.discourse.org/u/jaaaasshh)
#### Post date: [June 10, 2024, 5:23pm UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/33 "2024-06-10T17:23:15Z")

</div>

While I’m pressing cmd-f twice should I start triple clicking links too? Shall we implement that?

* * *

It’s kinda profound how badly you’ve missed the point here. _ **You’ve changed the default of how a browser works.** _ This is wildly unexpected.

---

<div class="post-metadata">

### Author: ![Isambard](https://avatars.discourse-cdn.com/v4/letter/i/858c86/32.png) [@Isambard](https://meta.discourse.org/u/Isambard)
#### Post date: [June 10, 2024, 6:11pm UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/34 "2024-06-10T18:11:08Z")

</div>

> [@jaaaasshh](#):
>
> No, it’s not a violation of expectations. The expectations of cmd-f are that if it’s not on the page, nothing is found. cmd-f is not “search this ‘post’” on the rest of the internet.

I agree. My expectations are to find in the page. The hijack also breaks ctrl-g ctrl-shift-g behaviour.

It is understandable why Discourse might want to override this due to it breaking the user expectation that all posts for a thread are loaded. However, this might be solved by indicating exactly which posts are loaded or not. The old paginated approach is transparent in this regard.

Having a thread search tool is of course useful, whether in paginated or infinite scroll mode. It is just jarring/confusing to hijack one kind of search with a different kind of search instead of exposing it in a different way e.g. through ‘thread search’ button or a hotkey that doesn’t collide with standard behaviour.

I don’t want to complain too much, as the design decisions are understandable and I have learned to live with it, but I just wanted to point out that I don’t think the ‘violation of expectation’ assumption is correct.

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [June 10, 2024, 6:22pm UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/35 "2024-06-10T18:22:41Z")

</div>

> [@jaaaasshh](#):
>
> _ **You’ve changed the default of how a browser works.** _ This is wildly unexpected.

There’s a combination of unexpected things that have to be balanced for the person searching… it’s a pick your poison situation.

- Not all content is available when scrolling for performance reasons. Discourse supports various content like GIFs, videos, polls, calendars, iframes, charts, etc… there could be 1000 of these in a topic. Keeping all of this in the DOM can make a page unusable.

- Users do not know which content is currently loaded, affecting the effectiveness of `ctrl + f`. This expectation assumes all content is on the same “page” and thus searchable.

Since the expectation is that `ctrl + f` searches the whole page, and the whole page isn’t available… there’s an attempted middle-ground.

You’ve already made a couple arguments to attempt to solve this:

- Disable dynamic content (including images) in posts.

- Disable infinite scrolling and use traditional pagination

To me it seems there isn’t one single great experience here, even if you’re sticking to browser defaults. With Discourse if you’re upset by the lack of the browser default, you have to learn one thing.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [June 10, 2024, 6:27pm UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/36 "2024-06-10T18:27:55Z")

</div>

> [@jaaaasshh](#):
>
> While I’m pressing cmd-f twice should I start triple clicking links too? Shall we implement that?
> 
> * * *
> 
> It’s kinda profound how badly you’ve missed the point here. _ **You’ve changed the default of how a browser works.** _ This is wildly unexpected.

Just a friendly note that all posts and discussions should try and remain civil and productive. If things become too argumentative/reductive then I’m going to close this topic. 🙏

---

<div class="post-metadata">

### Author: ![jaaaasshh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jaaaasshh/32/380386_2.png) [@jaaaasshh](https://meta.discourse.org/u/jaaaasshh)
#### Post date: [June 10, 2024, 6:56pm UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/37 "2024-06-10T18:56:54Z")

</div>

> [@awesomerobot](#):
>
> There’s a combination of unexpected things that have to be balanced for the person searching… it’s a pick your poison situation.

Nobody’s denying this. Just don’t hijack cmd-f to do it. There’s an uncountable number of other keyboard combinations to choose from. Pick any one of those.

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [June 10, 2024, 8:20pm UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/38 "2024-06-10T20:20:16Z")

</div>

right but the point is that `ctrl + f` doesn’t work as expected due to automatic paging, so the alternative is suggested first because it will actually search all the content within a topic

so I suppose given all the tradeoffs it’s a choice between explaining:

- your search didn’t work because while you were scrolling we automatically turned the page, so you should click 🔍 instead (or use `/` which is an alternative shortcut)

- you might have a better time with our search, but if not use the shortcut again

Would you be equally annoyed if we didn’t capture `ctrl + f` and it didn’t work because we loaded some content away while you scrolled? would you then attempt an in-app search as a solution? try scrolling up and then trying again? something else?

Beyond “don’t do it because it’s the default” (which is valid, because expectations) there might be some additional arguments against it to consider as well:

- most people probably don’t use it anyway: [Crazy: 90 Percent of People Don't Know How to Use CTRL+F - The Atlantic](https://www.theatlantic.com/technology/archive/2011/08/crazy-90-percent-of-people-dont-know-how-to-use-ctrl-f/243840/)  
(or maybe more like 80% [Do 90% of People Not Use CTRL+F? | Blog of Metrics](https://blog.mozilla.org/metrics/2011/08/25/do-90-of-people-not-use-ctrlf/))

- searching 20+ posts earlier with `ctrl + f` might be kind of rare? so `ctrl + f` for the current “page” might be good enough? (total guess, can’t find any data on this)

---

<div class="post-metadata">

### Author: ![piffy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/piffy/32/254198_2.png) [@piffy](https://meta.discourse.org/u/piffy)
#### Post date: [June 10, 2024, 9:11pm UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/39 "2024-06-10T21:11:32Z")

</div>

- the overriding is not unique to Discourse. Among other places mentioned, Microsoft office tools also override ctrl+F. And it’s done for similar reasons (ie. not all the text is available to ctrl+F)
- the actual _function/intention_ is not being overwritten. It is a “find a substring” function. If ctrl+F was overridden to be the bookmark command, I’d be sympathetic.
- the naive browser ctrl+F function will often fail with no indication of _why_. It would be easy to infer the text is not present in the topic when it is not found, which is not guaranteed to be true. In a topic that isn’t trivially short, most searches will be false negatives. You place an expectation on the user to have an understanding of the infinite scroll implementation details in Discourse in order to use ctrl+F effectively
- for the people that don’t like the overriding, and understand how the pagination of posts works, you just have to press it one more time

If the main problem here is we don’t want to break the user’s expectations, then ultimately I would say it’s a bigger evil to break their expectations in a cryptic way (ie. ctrl+F says “no match” when the text actually does appear in the topic) then to break their expectation transparently (opening the non-native search bar)

Keep it the way it currently is.

---

<div class="post-metadata">

### Author: ![catchthewavecoke](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/catchthewavecoke/32/423120_2.png) [@catchthewavecoke](https://meta.discourse.org/u/catchthewavecoke)
#### Post date: [June 20, 2024, 1:55am UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/40 "2024-06-20T01:55:39Z")

</div>

I understand the desire to keep the culture here civil. I support that but please consider moderating users instead. Closing a topic affects the entire community. This is a topic we clearly want to discuss.

---

<div class="post-metadata">

### Author: ![catchthewavecoke](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/catchthewavecoke/32/423120_2.png) [@catchthewavecoke](https://meta.discourse.org/u/catchthewavecoke)
#### Post date: [June 20, 2024, 1:58am UTC](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825/41 "2024-06-20T01:58:58Z")

</div>

I understand your point. The search function should serve two purposes: search for topics or threads and search for keywords within a topic or thread.

I am using “topic” and “thread” interchangeably, but I hope the meaning is clear.

[Previous page](https://meta.discourse.org/t/remove-overriding-of-cmd-ctrl-f/304825.md?page=1)
