Tuesday, January 15, 2008

Rule # 3 - Make no assumptions about your user's browser

I've already said that you shouldn't try to dictate what browser the reader uses. Since you really have no control over this anyway, you might as well start with the assumption that your reader may use anything under the sun.

• Always use alt="..." attributes for your images, and provide text alternatives for image maps. There are many reasons why a reader might not be loading your images, including the possibility of a voice synthesis browser for a telephone. (Don't blow it off; there are telephone companies that would like to make that happen.)
• If you use frames, make sure that your site works just as well without them.
• If you use proprietary tags, don't depend on them to get your message across. The same goes for Java and for features that require plug-ins; think of those as enhancements rather than requirements.

Designing for any possible browser isn't that hard. You start with a subset of HTML that is universally recognized. HTML 2.0, plus a few enhancements such as tables, is a reasonable base. Restrict yourself to this set of tags when you add your content and design your navigation. Then add the rest as enhancements, making sure that your pages are readable and transmit their content on browsers that don't support those special features. (Yes, it's a good idea to keep an outdated version of a second-rate browser, and to use it periodically to check out your own pages--before you put those pages out on the web where other people might view them with the same outdated, second-rate browser.)