Sign up ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

I was wondering that why websites don't use keyboard shortcuts as often as desktop software tends to.

I really like keyboard shortcuts in software, they makes me work more efficiently. But why don't most websites offer shortcuts?

share|improve this question

4 Answers 4

up vote 5 down vote accepted

Apart from coding challenges, One big reason is that keyboard shortcuts become useful in software that you regularly use and return to. You can learn and use the shortcuts over time. Therefore saving effort.

One thing I find when testing websites and software is that experts use shortcuts, the average person finds their way by navigating menus, buttons and controls on screen.

The law of averages might say that you are much less likely to use a website in the same way. For each site you visit you may need to learn new shortcuts. The effort may be larger than the payoff in many cases.

For websites that you might visit on a much more regular basis or are much more app-like (e.g. News sites, mail, calendars etc) I'd propose that the number using shortcuts would be higher (though still not saturated).

What shortcuts do you use most often in software? Is it cut, paste, save? How ofter do you do this on the websites you visit?

A large amount of sites consider keyboard control in some small way when making them conform to accessibility standards.

share|improve this answer
But maybe it's lack of standards. If most websites have some common shortcuts people can be used to it. – LiJung Aug 10 '12 at 8:53
What function would you keyboard shortcut to? – Jay Aug 10 '12 at 8:54
Go to my profile?? Go to home page?? navigators?? it could be helpful sometimes. When people go to unfamiliar websites. – LiJung Aug 10 '12 at 8:59

Programmers are lazy.

Also, clicks on a website can be hierarchically structured, you can always assign a click or mouseover to a given element. However, keyboard is global to the document, except for when you are inside a textarea or input field. Programmers love this "except for" part.

Sometimes you would think it would be sane to have the exception, like, when you open a custom-implemented combobox or rollover menu, but in fact, you have the global handler only, so you have to hand-code context into your own code, and this could get really complex quickly.

There are cross-platform and cross-browser issues as well, you can't do everything, and sometimes you can't intercept events (like, copy-paste) easily or ever, therefore you can't customize those behaviours,

That is a tedious task and most programmers assume that since they gave no hints on how to use it with keyboards and there is no standard way of doing it in web applications (except what the browsers handle natively and you can't modify that), people just won't use it, and since there is no standard way, and no hints, they're right with that: most people don't expect websites to work with keyboard shortcuts.

That said, some more intensive and newer applications like gmail or 9gag do work with keyboard shortcuts. On 9gag, people are encouraged to use it, sometimes in a rather disrupting way (Y U NO USE KEYBOARD?)

share|improve this answer
I completely disagree with your answer. Developers will be under time constraints when building a site, and typically this time will not include the time required to create keyboard shortcuts. – Sam May 31 '13 at 12:46
I was a developer for 5 years and a development team lead for 6. I was talking about these UX issues a lot. Nowadays, there's a tendency that it's good style to include them, but for example, we had multiple screen resolutions 14 years ago, yet responsive design didn't catch ground until the last few years. It's not that it wasn't an issue: devs were ignorant. So no, I don't agree with the timebox defense and I never did. However, this is a matter of opinion and experience, the rest of the answer - shortcuts aren't handled well by browsers - stands I guess. – Aadaam Jun 6 '13 at 14:30

I'd like to first of all debunk the theories of lazy programmers and global shortcuts. Lazy programmers (but not the lazy smart programmers) would not single out keyboard shortcuts as a particular requirement they're too lazy to do. There's nothing hard about setting it up. Most programming languages and frameworks provide functions and convenience constructs just for the purpose. And although it might take a little bit more effort, it's also easy to acieve context sensitive keyboard shortcuts.

The truth is that in a GUI environment some applications require little text entry, meaning mostly mouse driven. So it makes little sense to implement keyboard shortcuts when users would have to constantly switch from using a mouse. Applications that already make extensive use of the keyboard quite likely provide keyboard shortcuts. In a web environment the dynamics change quite a bit. Each browser already has it's own set of global keyboard shortcuts, interfering with choice for keys. More importantly web applications are used in a much more adhoc manner. Users change to newer web applications in the blink of an eye. So there's hardly point in making users memorize keyboard shortcuts for fleeting web apps.

share|improve this answer

One major reason is that there are significant technical challenges in doing so.

For example, suppose a browser running on Linux has copy text on the shortcut CTRL + E and you catch those keys using JavaScript assuming they're safe. Does the browser still do the operation that the user expects in the browser or does it do your site's operation or both? Do cultures/languages come into play? Keyboard layouts? There are a massive amount of environmental factors that your site cannot control for (although assumptions could be made if you know your audience well).

So supposing those weren't an issue, all browsers interpret keys differently. A code for one key in one browser can map to a completely different key in another browser. It takes some very careful programming to get these right.

Because most users in general don't expect webpages to have shortcuts, there's not a lot of gain for the significant costs. As always, YMMV.

share|improve this answer
Even beyond the fact that various browsers will make various various shortcut keys unavailable to a web application, there's no way for a web application to find out what keys are actually available to it. If there were a way that a web app could find out that control-E is reserved by the browser, the app could update its screen prompts appropriately, but having an app suggest keyboard shortcuts that won't actually work is worse than not having keyboard shortcuts at all. – supercat Feb 3 at 21:32

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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