First of all, you can’t win using Javascript in a browser. There’s always some stupid bug, either in the browser or in the Javascript itself, or in the site which uses it, or whatever, which prevents your Javascript from working properly. There, I said it: Your Javascript will break. Given that cosmic truth, why do web page authors always create pages where Javascript is actually required for use?. I never do this, even when using Javascript makes sense. Javascript should be used to add a little bit of functionality (such as client-side form validation) or maybe to open up a pop-up from a link instead of replacing the current page (’cause you can’t do that anymore in XHTML 4.01!).
Anyhow, using Javascript to drive the navigation on a website is just asking for trouble. Consider this my plea to the web page authors of the world: stop requiring Javascript. Just stop. Because lots of folks don’t have browsers that support Javascript (okay, not that many), lots of folks disable Javascript so that all the bugs in IE don’t hose them (okay, not that many), and there’s always the chance that your Javascript will fail and hose the user (okay, pretty good chance).
Perhaps I should relax and relish in the fact that Internet Darwinism will intervene and that sites that don’t work will not get used. Unfortunately, I know that this is not true. I believed this back in the day when IE and Netscape were neck-and-neck in the browser wars and some pages didn’t work on one of the other browser. If they didn’t work on both, those pages either died and weren’t used, or got fixed with a quickness. Unfortunately, one browser won that war (I’m not angry that IE won — hey, it was faster, had better features, and more fully supported CSS first) and it all went downhill from there. Microsoft decided that they were going to make their browser display HTML and work with pages no matter how poorly they were written, including the kind of mistakes that would accidentally launch nuclear weapons if they were made in that type of software. Microsoft is also all about backward compatibility. That means that, unless some serious changes occur in the direction of their browser, IE will continue to render the drivel created by today’s web authors, no matter how egregious. Microsoft has made drivel the standard, since it works. If it works, nobody will be motivated to fix the problems in their web browser. Broken pages will remain, and browsers that choose to punish bad pages will have trouble gaining acceptance.
So, web authors of the world: please, for the sake of all Internet denizens, please stop requiring Javascript to get around your pages and sites. Javascript is fine to spice-up the interface, or do sone neat tricks. That’s cool. The Javascript kids get a bonus for having it. But, do not punish those who are at a disadvantage for any number of reasons, including their browser or browser version, their browsing preferences, or your stupid Javascript.