1

In the recently released "Field Guide to Web Applications" (from the Google Chrome team), the authors mention the "emergent convention of the J and K keys to move forward and backward" in a web app. This is new to me. I tested it on the Field Guide web app itself, and was surprised to find that (contrary to my intuition) the J-key is forward and the K-key is back. I suppose this comes from "K" being associated with the word BACK_ and "J" resembling the return arrow on the enter key (or a page turn indicator). But given their respective location on the keyboard, this navigational association seems backwards to me. Is this, as Google contends, an emerging trend? Have you seen other web-pages or web-apps that support this? Would you recommend it?

6

It is a convention which was popularised by the text editor vi, precursor to Vim.

To quote Stack Overflow user martin clayton from this highly related (but not exact duplicate) question

Bill joy, who wrote the visual mode of ex - which ended up being vim precursor vi - used a Lear Siegler ADM3A terminal on which the H, J, K, L keys mapped to left, down, up, right - and its been that way ever since.

Some examples of awesome sites which use this convention:

0

You can use any key on the keyboard as a shortcut key in a web application it's up to you to decide what letters do what. A popular script is jQuery hot keys https://github.com/jeresig/jquery.hotkeys

  • 1
    perhaps, but I'm interested in learning what the accepted convention is, if there is one. – kmote Mar 17 '12 at 0:02
  • The arrow keys also work on that site forward and back etc. I doubt there is any specific convention. Everyone's apps are different. For a book maybe J is associated with Jump forward. And K back. If you want to know why they chose those letters I would contact the author – Anagio Mar 17 '12 at 0:07

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.