2

We have a number of internal facing web applications that rely on displaying data in a tabular layout, the tool we use is jQgrid. It has a powerful search feature that allows users to fence data and chain multiple conditions together, concept-wise it's probably the best part of the tool.

However, most of our users choose to use CTRL+F over using the built-in search function. Right away it is very easy to see the shortcut is much more efficient for users, for some it's a natural reflex, others it is a better alternative to attempting to click a tiny target on a small screen. In addition, if a user was to choose to use the application's search feature over the browser, it's not fuzzy, there's more work involved to get results and requires a combination of user skill and patience.

Our biggest problem right now is when users search for information on paged results. The browser has no idea that there are another 20 pages with over 1000 results waiting in the wings, so when a user chooses to make use of CTRL+F they miss the big picture. What really gets us though is when the data is in a smaller amount and only pages once, and the record the user seeks is one of a handful pushed to the second page. That becomes a huge distraction.

I know the issue here isn't solely CTRL+F, it's a combination of tooling, user training, and data structure. All three of those things are pretty rigid and most likely won't change for some time.

  • Has anyone ever worked through an issue like this?
  • Would it be bad practice to hijack the shortcut and direct the user to use the builtin search function?
2

Overriding the browser default is (almost) never a good idea. As I've mentioned in a previous answer, to hijack this shortcut is recognizing that a user is trying to do a certain familiar function, but aggressively preventing them from doing so, and instead doing something they didn't expect.

One alternative you could try is to unobtrusively inform the user of the additional functionality that your in-app search provides. The user may not be aware that the built-in CTRL+F only scans the loaded data, or understand what that means.

mockup

download bmml source – Wireframes created with Balsamiq Mockups

Another option might be to allow the user to opt-in to this shortcut override. In the same unobtrusive style, you might inform the user that your search feature exists, and is available to be bound to the CTRL+F command.

mockup

download bmml source

|improve this answer|||||
  • 1
    A bit more: Bitbucket web overrides the CMD-F (Mac user here) shortcut - DRIVES ME BONKERS EVERY TIME!!! And guess what, I've found that if I click on the url and then CMD-F I get the default find - FIREWORKS! I do agree that informing the user is a good option. – Izhaki Aug 29 '18 at 15:15
  • @Izhaki I've (accidentally) found that F3 (on Windows computers) will also open the find-in-page feature. Useful as a fallback when people override CTRL+F. I once used a service that simply prevented CTRL+F in hopes that you'd pay money to upgrade your service to get their "enhanced" search features. I don't use that service anymore. – maxathousand Aug 29 '18 at 15:18
  • 1
    Hijacking CTRL+F is like a dire last resort, I know how much I dislike astonishing events. I like the opt-in option, I never thought to do that. – Mark Carpenter Jr Aug 29 '18 at 15:30
2

The moth trap

A moth on a light bulb

Adding to the great answer by maxathousand, another option is to consider luring the users to use your own search functionality.

Now, the search function on the jqGrid is all but hidden:

jqGrid screenshot

What you can do is add a big search field above it, just like on this page:

Screenshot of the search box at the top of this page

But with the text: "Search this and other pages".

Soon as users click on the field you open jq's search dialog.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.