Deprecated Tags and Attributes


In HTML 4.0, many attributes and some tags have been deprecated. That means they are to be phased out. While some tags and attributes are deprecated because they really don't serve a purpose anymore, most are deprecated in favor of style sheets, which can control visual effects such as color, list bullets, spacing, and more.

HTML 4.0 has several versions. In the Strict DTD, these deprecated tags and attributes are not included at all. The Transitional DTD does support these tags because most browsers don't support the style sheets used as a replacement for many of the deprecated attributes. To help with the transition, style sheets override the deprecated rendering attributes.

Why did they get rid of these attributes? What was wrong with them? HTML was supposed to be completely cross-platform. That means that it can be read by speech browsers as easily as graphical ones. A text-only browser or a speech browser has absolutely no use for the font tag. It serves no purpose; it doesn't structure the text. It's just there, and it gets in the way. A speech browser also doesn't need to know which kind of bullet to use for the lists or how much spacing you put in your tables. So all these visual rendering attributes have been deprecated. They're replaced instead with support for style sheets, which aren't part of the HTML itself.

Style sheets are usually a list of properties and their values. The most commonly used style sheet language is CSS (Cascading Style Sheets), which was created by the same people that set the HTML standards. With style sheets, you have a lot more control over how your information is presented. You can control not only formatting for visual browsers, but speech ones as well. The main problem is lack of support--not even MSIE 5.0 has full support for CSS1, even though they've had partial support since version 3.0.

In regards to CSS

I have added relevant CSS properties to the list of deprecated tags and elements. Please do not use them unless you understand CSS syntax. Be especially careful with URI values--they have a special format different from HTML. This is based on the CSS1 and CSS2 specifications and work at Mozilla on the Gecko layout engine.


Deprecated Tags

<DIR> has been deprecated in favor of <UL> because there is no need for two tags that do the same job.


<MENU> has been deprecated in favor of <UL> because there is no need for two tags that do the same job.


Deprecated Attributes

(IMG) align= has been deprecated in favor of style sheets.


(IMG) align= has been deprecated in favor of style sheets.


(TABLE) align= has been deprecated in favor of style sheets.


(P,H1-H6) align= has been deprecated in favor of style sheets.


(HR) align= has been deprecated in favor of style sheets.


(BODY) alink= has been deprecated in favor of style sheets.


(BODY) background= has been deprecated in favor of style sheets.


(BODY) bgcolor= has been deprecated in favor of style sheets.


(IMG) border= has been deprecated in favor of style sheets.


(TABLE) border= has been deprecated in favor of frame=, rules=, and style sheets.


(TABLE) cellpadding= has been deprecated in favor of style sheets.


(TABLE) cellspacing= has been deprecated in favor of style sheets.


(BR) clear= has been deprecated in favor of style sheets.


(OL,UL) compact has been deprecated in favor of style sheets.


(BODY) link= has been deprecated in favor of style sheets.


(HR) noshade has been deprecated in favor of style sheets.


(HR) size= has been deprecated in favor of style sheets.


(OL) start= has been deprecated in favor of style sheets.


(BODY) text has been deprecated in favor of style sheets.


(OL,UL,LI) type= has been deprecated in favor of style sheets.


(LI) value= has been deprecated in favor of style sheets.


(HTML) version= has been deprecated in favor of <!DOCTYPE> because it provides more information and complies with SGML standards.


(BODY) vlink= has been deprecated in favor of style sheets.


(HR) width= has been deprecated in favor of style sheets.


(PRE) width= has been deprecated in favor of style sheets.