The HTML 4.01 standard was introduced in 1999, but 11 years later, no major vendor fully implements it.
Controversial, perhaps, but also true. A lot of flak is rightly directed at Internet Explorer’s lack of standards support, but the other browser vendors aren’t blameless either.
Here’s a partial list of some HTML 4.01 features not supported in Chrome, Firefox, Internet Explorer or Opera.
Element | Unimplemented attribute | Browsers | Description |
---|---|---|---|
BASEFONT | All attributes unimplemented in Firefox and Opera. | Chrome 6: Yes Firefox 3: No IE 8: Yes Safari 5: Yes Opera 10: No | Used to specify font of BODY for pre-CSS documents. Deprecated but specified in HTML 4.01, so browsers should implement it for backwards compatibility with old documents, but authors should avoid using it. |
INPUT TYPE="FILE" | ACCEPT |
Chrome 6: No | Used to specify MIME types to accept for file upload. |
TD / TH | CHAR, CHAROFF | Chrome 6: No Firefox 3: No IE 8: No Safari 5: No Opera 10: No | Used to align columns on a particular characters (e.g. a decimal point). |
In recent years the W3 has tightened up the process so that features have to be implemented by at least 2 different browsers before a standard can reach Proposed Recommendation status.
The new process is:
- Working Draft - specifications go through a series of working drafts, ending with the Last Call Working Draft
- Candidate Recommendation - the specification is ready to be implemented, although implementation experience may change the specification (e.g. some features may prove impossible to implement with acceptable performance)
- Proposed Recommendation - each item in a specification has two separate verified implementations
- Recommendation - the specification is complete and all known issues have been addressed
Under the new process the HTML 4.01 specification would still be at Candidate Recommendation level because of the unimplemented features above. Although the new process is slower, it does ensure that W3 specifications never contain features that cannot be implemented.
In addition to unimplemented features, errors in the specification itself were found after publication, listed in HTML 4.01 errata. The new W3 process makes this far less likely to happen since doing an implementation flushes out any ambiguities and errors.