Results

CodeMeaningScore
4.0—feature supported+1
[4.0—]limited support or minor bugs
-degrades gracefully0
\disfigures pages−½
Xbreaks pages−1
!buggy−1

In this table, version numbers indicate the earliest version of a Web browser supporting a particular feature. Prerelease versions are emphasized. Results on other platforms may vary.

Metadata attributes like summary are considered “supported” if rendering is affected or if a command or option can present it to you.

Netscape 8.0— for Windows can switch between Gecko (Firefox) and Trident (Internet Explorer) rendering engines. When acting as a front end for Internet Explorer for Windows, results are same as for Internet Explorer.

Related Mozilla bug reports: HTML4.01, Robin's.

MSIE Firefox Safari Opera Netscape SeaMonkey iCab
Latest Version Tested 7.0 2.0 1.3.2 9.02 8.1.2 1.0.6 3.0.3
Operating System Windows XP Windows XP OS X Windows XP Windows XP Windows XP OS X
Abbreviations MSIE Firefox Safari Opera Netscape SeaMonkey iCab
<abbr> 7.0(1) 0.1— 1.2— 5.0— 6.0— 1.0— 1.25—
<acronym> 7.0 0.1— 1.2— 5.0— 6.0— 1.0— 1.25—
Character Entities MSIE Firefox Safari Opera Netscape SeaMonkey iCab
named 5.0— 0.1— [1.2—] 7.30—(2) 6.0— 1.0— [2.5.3—](3)
&euro; 5.0— 0.1— 1.2— 7.30—(2) 4.06—(4) 1.0— 2.0—(3)
&trade; 3.0— 0.1— 1.2— 7.30—(2) 6.0— 1.0— 2.0—(3)
decimal 4.0— 0.1— 1.2— 7.20—(2) 4.0— 1.0— 2.5.3—(3)
hex 5.0— 0.1— 1.2— 7.20—(2) 6.0— 1.0— 2.5.3—(3)
Characters: Special MSIE Firefox Safari Opera Netscape SeaMonkey iCab
&shy;
invisible within line 5.0— 0.1— 1.3.2 4.0— 6.0— 1.0— 2.0—
used to hyphenate 5.0— \ 1.3.2 7.20— \ \ \
&emsp;, &ensp;, and &thinsp;
fixed width 5.0— 0.1— 1.2— 7.20—(5) 6.0— 1.0— 3.0.3
line break after 5.0— 0.1— X 7.20—(5) 6.0— 1.0— X
&#8203;
invisible 6.0—(6) 0.1— 1.2— 7.20—(5) 6.0— 1.0— 3.0.3
lines wrap at 4.0— 0.1— X 6.0— 6.1— 1.0— X
&zwnj;
&zwj;
ligatures - - - - - - 3.0.3
Common Attributes MSIE Firefox Safari Opera Netscape SeaMonkey iCab
core attributes
id
as anchor 3.0— 0.1— 1.2— 3.50— 6.0— 1.0— 1.25—
as style sheet selector [3.0—] 0.1— 1.2— 3.50— 4.0— 1.0— 2.5.1—
as script reference
class
as style sheet selector 5.0—(7) 0.1— 1.2— 3.50— 6.0—(7) 1.0— 2.5.1—
style 3.0— 0.9— [1.2—] 7.10— 7.20— 1.0— [2.5.1—]
internationalization
lang - 0.1— - 7.30— 6.1— 1.0— 1.25—
Edits MSIE Firefox Safari Opera Netscape SeaMonkey iCab
<ins>, <del>
inline 4.0— 0.1— 1.2— 5.0—(8) 6.0— 1.0— 1.25—
block 4.0— !(9) 1.2— 5.0— !(9) ! 1.25—
cite - 0.1—(10) - - 6.1—(10) 1.0— 1.25—
datetime - 0.1— - - 6.1— 1.0— -
Forms MSIE Firefox Safari Opera Netscape SeaMonkey iCab
<fieldset> 4.0— 0.1— 1.2— 6.02— 6.0— 1.0— 1.25—
<legend>
labels fieldset 4.0— 0.1— 1.2— 6.02— 6.0— 1.0— 1.25—
accesskey 4.0— 1.5— - -(11) - 1.0— -
<label>
implicit -(12) 0.1— - 7.0— 7.01—(13) 1.0— [2.5.3—](14)
explicit: for 4.0— 0.1— - 7.0— 7.01—(13) 1.0— [2.5.3—](14)
accesskey - [0.1—](13) 1.3.2 [7.0—](11) [6.0—](13) [1.0—](13) 3.0.3
<input>
disabled 4.0— 0.1— 1.2— 5.01— 6.0— 1.0— 1.25—
readonly 4.0— 0.1— 1.2.4— 5.01—(15) 6.0— 1.0— 1.25—
tabindex 4.0— 0.1— 1.2.4— 7.0— 6.0— 1.0— 1.25—
accesskey 4.0— [0.1—](13) 1.2.4— [7.0—](11) [7.0.1—](13) [1.0—](13) 1.7—
<textarea>
disabled 4.0— 0.1— 1.2— 5.01— 6.0— 1.0— 1.25—
readonly 4.0— 0.1— 1.2.4— 5.01— 6.0— 1.0— 1.25—
tabindex 4.0— 0.1— 1.2.4— 7.0— 6.0— 1.0— -
accesskey 4.0— 0.1— 1.2.4— 7.0—(11) 6.0— 1.0— 3.0.3
<select>
disabled 4.0— 0.1— [1.2.4—] 5.01— 6.0— 1.0— 1.25—
tabindex 4.0— 0.1— - 7.0— 6.0— 1.0— -
<optgroup>
groups options 6.0— 0.1— [1.3.2] 7.0— 6.0— 1.0— 2.0—
disabled X 0.1— X 6.0— 6.0— 1.0— X
<option>
label 7.0 \ 1.2— \ \ \ 2.9.1—(16)
disabled X 0.1— X 6.0— 6.0— 1.0— 1.25—
<button> 4.0— 0.1— 1.2.4— [6.02—] 6.0— 1.0— 1.25—
tabindex 4.0— 0.1— - 7.0— 6.1— 1.0— 1.5—
Frames MSIE Firefox Safari Opera Netscape SeaMonkey iCab
<noframes> 3.0— 0.1— 1.2— 2.1— 2.0— 1.0— 1.25—
<frameset>, <frame> 3.0— 0.1— 1.2— 2.1— 2.0— 1.0— 1.25—
longdesc - - - - - - -
<iframe> 3.0— 0.1— 1.2— 4.0— 6.0— 1.0— 1.25—
longdesc - - - - - - -
Images MSIE Firefox Safari Opera Netscape SeaMonkey iCab
<img>
longdesc - 0.1—(17) - - 6.1—(17) 1.0—(17) 2.5.3—(18)
Links MSIE Firefox Safari Opera Netscape SeaMonkey iCab
<a>
rel, rev - 0.1—(19) - - 6.1—(19) 1.0—(19) -
hreflang - 0.1—(19) - - 6.1—(19) 1.0—(19) -
type - 0.1—(19) - - 6.1—(19) 1.0—(19) -
charset - - - - - - -
accesskey 4.0— 0.1— 1.2.4— 7.0— 6.0— 1.0— -
Objects MSIE Firefox Safari Opera Netscape SeaMonkey iCab
<object>
type X 0.1— [1.2—] 5.0— 4.0— 1.0— X
nested objects !(20) 0.1— \ 5.0— 6.0— 1.0— !
images !(21) 0.1— 1.2.4— 7.0— 6.0— 1.0— !(22)
scaling X 0.1— 1.2.4— 5.0— 6.0— 1.0— 1.25—
image maps X 0.1— X 7.0— 6.1— 1.0— 1.25—
usemap X 0.1— X 7.0— 6.0— 1.0— 1.25—
codebase X X X 7.0— X X 1.25—
plain text [4.0—] 0.1— 1.2.4— 4.0— 6.2.1— 1.0— [1.25—]
HTML documents [4.0—] 0.1— 1.2.4— 4.0— 6.2.1— 1.0— [1.25—]
Java applets [4.0—] 0.1— X 5.0— 4.0— 1.0— 3.0.3
codebase X 0.1— X 5.0— 4.0— 1.0— X
archive
standby [3.0—] - - - - - -
tabindex 4.0— - - - - - -
declare
<a>
shape X 0.1— X 7.0— 6.1— 1.0— 1.25—
coords X 0.1— X 7.0— 6.1— 1.0— 1.25—
Quotations MSIE Firefox Safari Opera Netscape SeaMonkey iCab
<q>
quotation marks X 1.5—(23) [1.2—](23) 7.30—(23) [6.0—](23) 1.0— 1.25—
cite - 0.1—(10) - - 6.1—(10) 1.0—(10) 1.25—
<blockquote>
cite - 0.1—(10) - - 6.1—(10) 1.0—(10) 1.25—
Scripts MSIE Firefox Safari Opera Netscape SeaMonkey iCab
<script>
type 4.0— 0.1— 1.2— 7.20—(24) 6.0— 1.0— 2.5.1—
application/javascript \ 1.5— \ 9.0— \ 1.0— \
application/ecmascript \ 1.5— \ 9.0— \ 1.0— \
text/javascript 4.0— 0.1— 1.2— 7.20—(24) 6.0— 1.0— 2.5.1—
text/ecmascript 7.0 1.5— 1.2.4— 7.50—(24) - 1.0— 3.0.3
application/x-javascript -(25) 0.1— 1.2— 7.30—(25) 6.0— 1.0— 2.5.1—
defer 4.0— - - - - - -
<noscript>
when disabled 3.0— 0.1— 1.2.4— 3.0— 3.0— 1.0— 1.9—
after unsupported script - - - 7.20— - - -
Tables MSIE Firefox Safari Opera Netscape SeaMonkey iCab
<table>
frame [3.0—](26) 0.1— X 7.10— 6.0— 1.0— [1.25—](27)
rules [3.0—](26) 0.1— X 7.10— 7.01— 1.0— [1.25—](27)
summary - 0.1— - - 6.1—(28) 1.0— -
<thead>, <tfoot>, <tbody> 3.0— 0.1— 1.2— 4.0— 6.0— 1.0— 1.25—
<colgroup> [3.0—] [0.1—] X [7.10—] [6.1—] [1.0—] [2.0—]
span 3.0— 0.1— X 7.10— 6.1— 1.0— 2.0—
width [3.0—](29) 0.1— X X 6.1— 1.0— X
style 3.0— 0.9— \ 7.10— 7.20— 1.0— \
align [4.0—] X X [7.0—] X X X
char \ \ \ \ \ \ \
charoff \ \ \ \ \ \ \
<col> [3.0—] [0.1—] X [7.10—] [6.1—] [1.0—] [2.2—]
width [3.0—](29) 0.1— X X 6.1— 1.0— X
style 3.0— 0.9— \ 7.10— 7.20— 1.0— \
align [4.0—] X X [7.0—] X X X
char \ \ \ \ \ \ \
charoff \ \ \ \ \ \ \
<th>, <td>
scope - - - - - - -
headers - - - - - - -
abbr - - - - - - -
axis - - - - - - -
Text Direction MSIE Firefox Safari Opera Netscape SeaMonkey iCab
dir 5.5— 0.1— ! 7.20— 6.1— 1.0— X
<bdo> 5.0— 0.1— X 7.20— 6.1— 1.0— X
&lrm;, &rlm; 5.5— 0.1— 1.3.2 7.20—(30) 6.1— 1.0— X
&#8236;, &#8237;, and &#8238; 5.5— 0.1— ! 7.20—(30) 6.1— 1.0— X
Score 44.5 77 18.5 72 71.5 77 39.5
  1. In Internet Explorer 4.0–6.0, when you hover your pointer over an <acronym> element (or most other elements), its title attribute appears in a small “tool tip” pop‐up.

    But not <abbr>. Even style attributes on <abbr> tags are disregarded.

    Internet Explorer 4.0 was released on 3 October 1997, two months before the final HTML 4.0 standard was published. <abbr> was a late addition to HTML 4.0, so 4.0’s lack of support is understandable. Not so understandable is 5.0’s, 5.5’s, and 6.0’s lack of support.

    No doubt it was a trivial change to handle <abbr> as if it were a synonym for <acronym>. It seems like the Internet Explorer for Windows developers lost interest in HTML 4.0 compliance after Internet Explorer 4.0 was released and didn’t regain it until 7.0.

  2. Fixed: Opera 6.0–7.23 has severe bugs handling character entities in pages served as XHTML.

    It fails to render any named entities on my Characters test and this Results page except for &quot;, &amp;, &lt;, &gt;, &apos;, and &nbsp;.

    Opera 7.20 misrenders ampersand entities followed by an HTML entity reference (numeric or named), like &amp;ndash;, as if they were the entity itself (&ndash;).

    Opera 7.10–7.11 does not support &omicron;, &thetasym;, and &alefsym;. They are rendered as text (ex. &thetasym;). However, these characters are rendered when their numeric entities are used.

    Opera 7.0–7.11 substitutes spaces for &ensp;, &emsp;, and &thinsp; even when font coverage exists.

    Opera 6.0–6.06 supports all HTML 4.0 entity names.

    Opera 5.10–5.12 for Windows renders only new entities for characters included in Windows-1252, the default character set for English-language versions of Windows. (Namely, &euro;, &trade;, &ndash;, &mdash;, &hellip;, &bull;, &dagger;, &Dagger;, &permil;, &lsquo;, &rsquo;, &sbquo;, &ldquo;, &rdquo;, &bdquo;, &lsaquo;, &rsaquo;, &circ;, &tilde;, &fnof;, &oelig;, &OElig;, &scaron;, &Scaron;, and &Yuml;.) A few others are rendered with ASCII approximations, and the rest are rendered with an unknown‐character glyph.

    Opera 4.0–5.02 renders only &euro;, &trade;, &ndash;, and &mdash;. Even when a display font supports them, some others like left and right quotes are rendered as ASCII approximations. Other new entities are rendered with the unknown‐character glyph.

    Opera 3.60–3.62 renders only &euro;.

  3. I have been informed that iCab can render any character in fonts it is configured to use, if the Unicode to MacOS language system is available.

    Character entities that iCab cannot render are displayed as text (ex. &scaron; or &#353;).

  4. Fixed: Navigator 4.06–4.80 supports no named entities added in HTML 4.0, except for &euro;.

  5. Fixed: Opera 7.0–7.11 substitutes regular variable‐width spaces for &ensp;, &emsp;, &thinsp;, and &#8203;.

    Opera 7.20— and 6.02–6.06 handles these space entities correctly.

  6. Fixed: Although Internet Explorer 4.0–5.5 correctly treats &#8203; as white space for line breaking, it defeats the purpose by rendering zero‐width spaces as unknown‐character glyphs.

    Though rendering unknown character glyphs is technically compliant, this reveals an error: When a line is wrapped at a zero‐width space, an unknown‐character glyph appears at the beginning of the following line. (If ordinary spaces were treated this way, every paragraph would have a hanging indent!)

  7. Fixed: Internet Explorer 3.0–4.0 and Netscape 4.0–4.80 handle the class attribute correctly when it contains a single class name, but not when it contains multiple class names.

  8. Fixed: Opera 4.0–4.02 puts a line break before the first <ins> or <del> in a paragraph.

  9. Downgrade: Firebird/Firefox 0.6—, Netscape 7.10—, SeaMonkey, and Mozilla 1.3— underline <ins> and strike through <del> only when used as inline elements, not as block elements.

    Phoenix 0.1–0.5, Netscape 6.0–7.02, and Mozilla 0.6–1.2 will underline <ins> and strike through <del> as either block or inline.

  10. To view citation URLs in Firefox, Netscape 6.1—, SeaMonkey, and Mozilla 0.9—, hover over anything with a citation and select “Properties” from the context menu.

    Though you cannot directly open addresses in a Properties dialog in Firefox 0.4—, Netscape 7.1—, and Mozilla 1.2—, you can copy and paste.

    iCab allows you to navigate to a citation URL directly from the context menu, though you must scroll down the context menu to find the option.

  11. Minor Bug: In Opera 7.0—, if you use an accesskey of a hyperlink, field or label that is off screen, its associated form control is activated but remains off screen, except when that form control is a text box.

    To use access keys in Opera 7.0—, press Shift‐Esc and then a key.

  12. Internet Explorer 4.0— does not associate a <label> element with a form control in its content without a for attribute.

  13. Minor Bug: In Firefox, Netscape 7.01—, SeaMonkey, and Mozilla 1.0.2—, labels on checkboxes or radio buttons are handled inconsistently. Clicking on such a label always activates the control, but invoking a label’s accesskey will not activate the control when it is in focus. (You must move off of it to use its accesskey to toggle it again.) However, invoking an accesskey on a checkbox <input> control will not activate it unless it is already in focus. (You must invoke an accesskey twice to toggle a checkbox.)

    In Netscape 6.0–7.0 and Mozilla 0.6–1.0.1, clicking on a label or invoking a label’s accesskey will always activate checkboxes and radio buttons, but does not give focus to other types of form control.

  14. Minor Bug: When you click on a <label> element, iCab 2.5.3 shifts focus to its associated control only when it is a checkbox or radio button (not text input controls and selection boxes).

  15. Opera 5.0–5.12 prevented changes to read‐only checkboxes and radio buttons, but stopped doing so in 6.0—.

  16. Fixed: iCab 2.5.3 displays both <option> content and its label attribute, instead of one or the other.

  17. To view long description URLs in Firefox, Netscape 6.1—, SeaMonkey, and Mozilla 0.9—, hover over an image and select Properties from the context menu.

    Though you cannot directly open addresses in a Properties dialog in Firefox 0.4—, Netscape 7.1—, and Mozilla 1.2—, you can copy and paste.

  18. To view long descriptions in iCab, hover over an image and select “Description” from the context menu and then “Images” from the submenu.

  19. Bug: Internet Explorer 4.0–6.0 mishandles nested objects. If an object in a page has an alternate object within its replacement markup, that alternate object is displayed alongside the primary one. This bug occured because, according to MSDN, Internet Explorer was automatically closing the outer <object> tag when it encountered the inner one.

  20. Bug: Internet Explorer 4.0— destroys pages that use image objects, which it treats much like HTML objects. Instead of scaling image objects by their width and height attributes, it creates a scrolling internal frame of that size. Images without width and height attributes are not displayed at all, nor is their replacement markup.

  21. Bug: iCab Pre1.25–2.2 displays image objects with sizes correctly. However, they distort images without sizes.

  22. Bug: Netscape 6.0–7.02, Mozilla 0.6–1.1, Opera 4.0–7.23, and Safari always render <q> with straight ASCII double quotes, even when nested.

    Firefox 0.1–1.0.8, Netscape 7.10—, and Mozilla 1.2— use only the first level of quotation marks specified by a CSS quotes style description, ignoring quotation marks specified for nested quotations.

  23. Fixed: Opera 3.0–7.11 ignored the type attribute of <script>, and tried to execute scripts it doesn’t support (ex. VBScript) as JavaScript. This causes it to report spurious syntax errors (or in version 5.01, to crash!).

  24. Minor Bug: Before application/javascript became the official media type for JavaScript on 27 June 2005, many users eschewed the incorrect text/javascript in favor of a correct unofficial media type, application/x-javascript. Though Internet Explorer and Opera 7.20–7.23 support JavaScript, they do not support this widely used media type.

  25. Bug: Internet Explorer 3.0— doesn’t use standard default values for a table with either a frame attribute or a rules attribute, but not both. For example, <table frame="hsides"> should result in a table with no rules, but Internet Explorer treats it as though rules="cols" were also set.

  26. Bug: iCab ignores frame and rules attributes unless the deprecated border attribute is also set.

  27. To view a table summary in Firefox, Netscape 6.1—, SeaMonkey, and Mozilla 0.9—, hover over a table and select Properties from the context menu. A Properties dialog will show its summary. Try it on the results table above.

  28. Internet Explorer 3.0— supports column widths in pixels and percentages, but does not support relative column widths.

  29. Fixed: Opera 7.0–7.11 seems to ignore &rlm;, and only changes direction for the first word after &#8238;.

    Opera 7.20— and 6.0–6.06 correctly alter text direction when the source contains the proper Unicode character entities.

Many thanks to Brian Wilson’s useful reference index DOT Html for providing support information about early Internet Explorer and Netscape versions.