On Inserting Tabs

The biggest reason that I find all the talk these days about web applications tiresome is that they strike me as a very dumb idea from a user interface perspective. The problem is that a 'web application' has to live symbiotically inside a web-browser1. Unfortunately, it appears that when the first web-browsers were developed, no one imagined this usage, and to this day the form of a web-browser isn't terribly well suited to it2. A major example of this that has always driven me crazy is the use of the tab key. In most applications, the tab key either inserts a tab into a text field, or skips to the next control. For reasons not entirely clear to me, every web-browser I have ever tried uses only the second behavior, even when the focus is on a multi-line text area. This means that if I want to say write the following:

for(int i=0; i<10; i++){
    cout << i << endl;
}

in a text area on a website, like say, this web log, the indentation is a real pain. (Add to this the fact that since I'm using Markdown, I have to have an additional tab before each line to let Markdown know I'm writing a code block.)

I had long thought that if a browser is going to be annoying and make the tab key skip out of the text area, at least using the tab key with a modifier should then insert a tab. I'd poked around a little in Safari and was disappointed to discover that the obvious candidate, ⌥-Tab3, still does nothing different, and neither does ^-Tab. Happily, today I discovered that the odd modifier combination ^⌥-Tab does do exactly what i'd wanted. I'm still left wondering why they didn't just pick ⌥-Tab; it doesn't appear to mean anything else special, and would be much easier to type.


  1. That is to say, inside a real application. 

  2. The fact that HTML with CSS is an abominable system for drawing user interfaces is a whole other, perhaps far greater, problem, although stemming from the same root cause, namely that nobody thought they were going to be used that way originally. 

  3. That's the option key symbol for those unfamiliar with it. One of the coolest symbols ever, I think. 

No Comments

Comment on this post