What's New
  • HaH 0.9.1 released, fix for FF 2.0
  • The official home page moved here
Other Stuff

Install the HaH extension v0.9.1
Supported locales: en-EN, fi-FI, it-IT, fr-FR, hu-HU

HaH and Surfkeys projects aim to make web surfing with a keyboard as usable as possible.
Just with one hand!?


Many modern user interfaces have been planned mouse users in mind. There are a lot of "clickable" elements in GUI's, for example buttons, form elements, images, links in web browsers, etc. However, swapping your hand between a keyboard and a mouse is usually not too ergonomic, and many people using computers a lot prefer the keyboard to the mouse. There are also new applications that cannot easily be used with a mouse, e.g. mobile phones and PDAs (without a touch screen) let alone laptops (with the horrible touchpads and fingerpointers) and digital television web browsers with remote control. Finally, disabled people (or just lazy, like me) have problems using these mouse oriented systems at all.

Therefore I like to present a new (AFAIK) idea for "clicking". Pressing a specified button will activate a HaH-mode (Hit-a-Hint), which means that all "clickable" elements in the area will get a hovering hint over them. This hint has a number, and when that number is entered, the corresponing element is to be "clicked".



Mozilla and Firefox are the first web browsers with "Find as you type" or formerly "Type ahead find" functions to search links in a web page. This feature has been a salvation for keyboard users, because using only arrow or tab keys in navigation is many times even slower than with the mouse. However, there are some disadvantages. Usually an user selects some part of the word of a selected link, starts typing, and a best matching link is selected when typing.

Why is it not enough?

Regardless of its greatness, "Find as you type" has some disadvantages. If there is more than few links matching the typed pattern, only the first is selected. Pressing Ctrl-G (or similar) jumps to next matching link, but we are almost in the same situation as without the feature. It does not support images, form elements, but it is rather aimed just for text links.

Hit-a-Hint provides a unique number for every link in the page, and typing that number will activate the clickable element. This number can be typed with a keyboard, or with an appropriate speech recognition software (e.g. NaturallySpeaking).

Why this ugly name

I am neither a businessman nor a humanist, so the name does not matter to me. Instead, I am a student of Telecommunications Software, and people in this field love TLA:s (Three Letter Acronyms), especially funny ones. Can you think of a funnier TLA than HaH? I also think that the name is pretty intuitive, because as you can imagine, hitting the hint would cause the hint to drop down and to click whatever is below it. However, if you have any other ideas for the name, I would be glad to consider them as well.



First you have to install the extension. This can easily be done just by clicking the install link above to activate the automated installation process.

To configure the keys, you have to install the Keyconfig extension. Currently some of the keys (such as backspace and esc) are not working without reconfiguring them. You probably have to disable other default key bindings interfering with your configuration.

When installed, you can hit the hints as explained below (the keys are defaults, that can be changed in the preferences):

Basic functionality

  1. Enable HaH-mode (hints will appear on the clickable elements)
  2. Enter the number of the element you want to click
  3. Disable HaH-mode (active/passive mode)

Active disable mode will click the element and passive will cancel and just hide the hints without clicking. If you press some modifier key simultaneously, the click will behave just like as you clicked with a mouse - i.e. you can open the new location in a new window or tab. <SHIFT> key opens by default in a new browser window, and <CTRL> in a new tab.

There are two modes that you can choose from to enable and disable (active) HaH-mode; Normal and Magic modes. The keys used can be changed in the preferences. Canceling (passive disable) is done by pressing <ESC>.

Normal mode

Enable by pressing 'H' (START KEY) and disable (click) by pressing <ENTER>.

Magic mode

Enable by holding down <SPACE> (MAGIC KEY) and disable by releasing it.

Related material

I will collect here some interesting links relating to the subject.


Get Firefox!


Ion X-window manager's homepage contains good information for keyboard users.

The hah project can be contacted through the mailing list or the member list.
Copyright © 2000-2020. All rights reserved. Terms of Use & Privacy Policy.