An important part of making your Web pages accessible is making sure they work properly on existing user agents (browsers). I say this with a bit of reservation, because many people seem to be hanging on to older, outdated browsers instead of doing what they should be doing: upgrading to modern, standards compliant ones.

What fails on Internet Explorer 4, 5 & 6

A few standard elements of HTML are unsupported or poorly supported by Internet Explorer 4, 5 and 6. See Fixing What Breaks in IE for details.

What doesn’t work on Netscape 4

Here in The Oo Kingdom, we try to strike a balance between backwards compatibility with older browsers, and forward compatibility with newer and future ones. As a webmaster, I tend to lean more toward forward compatibility, because if I don’t, I’ll wake up several months or a year from now to find my entire site’s design outdated and looking like yesterday’s news.

Hence our decision, in the summer of 2002, to upgrade all of our markup to XHTML 1.1 (this was a mistake; see below). This meant removing all presentational markup from the page sources and defining everything, including our layout, in the style sheet. Netscape 4 (and all 4.0 browsers) cannot handle our CSS layout, so I had to hide our style sheet from those browsers by using the @import rule.

Floating elements are a problem in Netscape 4

Netscape 4 messes up styled floating elements with margins. A div floated right with a left margin width defined, will appear at the left side of the page, right over the top of whatever is supposed to appear there. None of it will be usable! Netscape 4 also fails to color all of a styled box unless it is also bordered—it will highlight any text in the box with the specified color instead. Defining a zero border for images also fails on Netscape 4 (you can set a zero border in HTML, but only in Transitional versions). Numerous other CSS rules also fail on Netscape 4. A few examples appear below:

Floated links are not reachable with the TAB key

Without using a mouse, one should be able to reach any link on a page by using the TAB key. Menus that are floated using CSS are not accessible in this manner by anyone using Netscape 4.

Netscape 4 thinks outside the box

If you nest certain elements inside of other styled elements, Netscape 4 will drop the styling on the parent element when the child element is closed. For example, a div element styled with 10% left and right margins, will format correctly on Netscape 4, but the font formatting was lost after an acronym element inside the div was closed. Also, the margins remained after the div was closed. Several divs later, the entire page text was narrowed to a sliver!

Do what you have to do!

By trial and error, I learned that I could make our colors and fonts available to Netscape 4, but since that browser will botch most of our CSS layout, I have to hide the layout from Netscape 4. The current version of our site hides the entire style sheet from all 4.0 browsers—it’s just easier, and the site works well without the styling. The 21st Anniversary Edition of The Oo Kingdom (October 2003) uses a JavaScript to bring a special minimal style sheet for Netscape 4.

Problems with certain links

Netscape 4 cannot find a link target by its id attribute. It looks for the name attribute, which has been removed in XHTML 1.1. Consequently, our same page navigations didn’t work on Netscape 4, so users had to scroll down the page. On August 15, 2002, we decided to convert the main site back one notch to XHTML 1.0 Strict, so we could restore the name attribute to our link targets, and Netscape 4 users would be afforded full functionality.

Some elements not supported

Netscape 4 does not support certain HTML elements, including abbr, acronym and q. See note on q below.

What doesn’t work on very old browsers

The following paragraphs deal with some elements and attributes not supported by older browsers. This information appears on this site purely for reference.

Style sheets are not supported

Netscape 3 and earlier browsers don’t support style sheets. Neither do Internet Explorer 2 and earlier. It may be a good idea, therefore, to define body, text, and link colors in HTML as well as in the style sheet.

Pages may appear corrupted

If you use the XML prologue at the top of your document source, Netscape 2 and 3 will display it as text. Also, some versions of Internet Explorer for the Mac will mistakenly treat the entire document source as plain text instead of rendering the page as expected.

In the summer of 2002, we upgraded our punctuation from normal typewriter style to curly quotes and apostrophes, em and en dashes, and ellipses, to improve the appearance and readability of our text. We used the entity codes as defined in HTML. To illustrate this, consider the sentence below, written with typewriter-style punctuation:

"I'm befuddled -- it's the Thornton-Flanders case," replied Mrs. Fletcher. "If only there was more evidence -- or should I have said 'there were...'?"

Here is the same sentence, written with proper typographical punctuation:

“I’m befuddled—it’s the Thornton–Flanders case,” replied Mrs. Fletcher. “If only there was more evidence—or should I have said ‘there were…’?”

On most browsers, the latter version will look and read better, but Netscape 2 and 3 cannot read the entity codes for those characters and will render them as question marks, like this:

?I?m befuddled?it?s the Thornton?Flanders case,? replied Mrs. Fletcher. ?If only there was more evidence?or should I have said ?there were????

Netscape 4 and later browsers will display them just fine, and virtually no one uses anything older then that any more, so this shouldn’t be a problem. At any rate, the words are all there, so the sentence makes sense; it only looks goofy.

By the way, that sentence was not taken from the television series Murder, She Wrote—it only sounds like it. Actually, I made it up for this example.

NOTE: The 21st Anniversary Edition of this site, introduced in October of 2003, uses the q element for short quotations instead of the entity codes for curly quotation marks. Netscape 4 and older browsers will not recognize the q element, so the quotation marks will not appear on those browsers at all. In the case of Netscape 2 and 3, this actually improves the rendering, since those browsers render the curly quotes as question marks. The q tags were removed in favor of manual quotation marks in Version 10.6 of this site.

Centering may not work

Netscape 2 and 3 don’t support the align="center" attribute of the table element, so centered tables won’t be centered on those browsers. In Transitional markup, you can use a center element to ensure that your tables are centered on those browsers. This element requires an end tag. It is not allowed in the Strict versions of HTML.

Some colors are not supported by Netscape 2

Netscape 2 does not support table colors, so if you define, say, the body color as navy blue, and a table as having black text on a white background, Netscape 2 users will see your black text against the navy blue page background, making it very difficult to read. So the rule of thumb is this: don’t define table colors in HTML that contrast greatly with the page colors! (It’s OK to do it in the style sheet though, since Netscape 2 doesn’t support style sheets.)

Don’t use transparent GIF images as logos, for the same reason. My email logo appeared on Netscape 2 as blue against a navy background on some pages, until I replaced the transparent GIF background with an opaque yellow.

Script handling is touchy on Netscape 2

If you write your pages in XHTML, many JavaScripts won’t validate if they’re written into the page source. Netscape 2 doesn’t support external JavaScript files, so it will simply ignore them. Netscape 3 does support external JavaScripts and will handle them just fine (if they’re not too complex).

Normally, data inside a noscript element will be ignored by browsers that support JavaScript (if it is enabled). Netscape 2 supports JavaScript (barely) but does not support the noscript element, so if the script is written into the page source, both elements will be displayed, which can result in duplicate items on the Web page! So now, whenever I use a noscript element, I use an external JavaScript file to hide the script from Netscape 2.