You Can’t Fool All the People All the Time.

Read at your own risk

This document dates from the early web period, and is kept for archival purposes only. It is no longer updated, and contains much that is apocryphal, or at least wildly inaccurate.
  1. But How?
  2. Web Design
  3. When You’ve Been Framed!

There is a lot of stuff happening on the web right now. Some features of some browsers are impossible to use if you expect browsers that don’t understand those tags to still display the information in a readable format.

Choosing your weapons.

For example, Javascript, in Netscape, started out as a bad design. Even readers who had Javascript-compatible browsers, but didn’t want to use scripts, still had to waste bandwidth and time loading the script before they could ignore it. And for browsers that didn’t understand the <SCRIPT> tag, chances were pretty good that for any non-trivial application, the script would tear up the page that contained it.

The latest versions of Netscape, however, fixed that problem. And the Java language from Sun, supported by both Netscape and Internet Explorer, never suffered from this problem. They allow you to put the script (or Java applet) off in a separate file. Browsers that understand what the tag means will get the script. Browsers that don’t will ignore it.

So you may, sometimes, have to choose which version of a tag you want to support. It is almost never hard for the programmers who wrote the browser to provide a tag version that looks good on other people’s browsers. Usually, it even ends up making the tag itself more efficient. You’ll have to decide whether its worth it to take the high road, and not use tags that break your page, or whether the feature is so useful that you need to use it now.

I recommend the high road.

There ain’t no such thing as a non-beta browser.

In today’s dog-eat-god world, the browser market is a medieval battle, and its us peasants who are getting caught between the opposing armies. If you have a full-time web administrator and a high-end computer connection, it isn’t that hard to maintain separate pages for each browser and serve up the appropriate one on schedule. Those of us running web sites from our desktops and our bedrooms in our spare time don’t have that luxury. We need to duck for cover every time Netscape or Microsoft bring out their next secret weapon.

Here are a few of the things that I’ve discovered:

  • Netscape can’t indent tables. If you include a table in a list or in a blockquote, Netscape determines how big the table should be without checking to see how far the table has been indented. The result is that your table falls off the right edge of the screen. This is silly, of course. Hell, even NCSA Mosaic indents tables correctly, and it’s been dead for years.
  • Netscape can’t display images inside tables if you specify widths—the image is always displayed at its actual size, not the percentage or pixel width you specify.
  • Netscape for Windows can crash if you give it perfectly good style sheet definitions.

Turning the Tables

Tables are arguably the most useful of the ‘complex’ browser features. Most of the time, however, tables get mangled into horrible monsters over non-tabling browsers, such as search engines or voice readers.

It isn’t hard to design your tables so that they actually look okay on a non-tabling browser. And note that Lynx is available for the Macintosh, so you can use it to preview your pages without having to go onto Unix.

Stacking the deck.

When a non-tabling browser gets your table, it’s going to display the text without the cells. The upper left cell gets displayed first, the second cell in the first row gets displayed next, etc., across and down.

If your information actually can be displayed in that manner, and you put the right heading and paragraph tags in each cell, readers with non-tabling browsers won’t even realize what they’re missing.

For example, take a look at Who Is Martin Niemoller?. The title and Niemoller’s famous quote are set off against each other using tables. A non-tabling browser will put the title up at the top, and the quote below the title—exactly where one would expect to find it in a book.

You can use tables to put things all over the place on your page: just make sure that if the items are displayed in the order they appear in the html code, they still look reasonably okay.

  1. But How?
  2. Web Design
  3. When You’ve Been Framed!