Things That Might Change -- Logical vs. Physical Styles

When browsers started to be more graphically oriented, functionality was introduced that rendered each of these logical styles slightly differently, so that they could be differentiated by sight as well as by other means. Most level 2 complaint browsers, for example, will display text marked up as <strong>, with bold type. So, as a way to make marking up documents a little easier, Physical Styles were introduced, whose terminology more closely resembled that of a typographer. Examples of physical styles are bold (<b>), italic (<i>), center-alignment (<CENTER>), and the various attributes associated with the <FONT> tag. The latter two examples were introduced as part of HTML 3.2 and the former two examples were part of HTML 2.0. Many level 2 compliant and better browsers will display text marked up as bold and text marked up as strong the same way, as they will with text marked up as italic and text marked up as emphasis.

Many font characteristics can be controlled using the <FONT> tag, but actually controlling the typeface displayed depends on the typeface being resident on the computer intended to display it. A designer might specify certain fonts to be used in a web page, but if those fonts are not resident on the computer which is displaying the page, the <FONT> tag attribute which sets the typeface will be ignored. Font face, size and color can be controlled using the <FONT> tag.

The physical styles described above are only valid using HTML 3.2. SGML requires that the content of the document be marked up for meaning only, not to control the appearance of the finished document. HTML has strayed further and further from this goal over the past few years. HTML 4.0 takes a big step back towards this ideal by removing from HTML, much of the functionality which controls the appearance of the document, and giving that control to other mechanisms such as Cascading Style Sheets. The new specification for HTML 4.0 was released in mid-December, 1997, and a new specification for cascading style sheets, CSS2 was released in late-January, 1998. The function of cascading style sheets allows authors to have much more control over the appearance of a document without being restricted by the requirements of SGML on the hypertext markup, basically giving the concept of physical styles significantly more control than they had as an actual part of HTML. Learning CSS2, or any other method of controling the appearance of a hypertext document, means learning more than just HTML, but it also means that the appearance of the finished HTML 4.0 document can be controlled a lot more accurately than could the appearance of a finished HTML 3.2 document. It also means that in CSS2 compliant browsers, regardless of the manufacturer, the document marked up with HTML 4.0 and CSS2 will appear substantially more the same than the document would if it were marked up using HTML 3.2.

As HTML continues to evolve, the intent of its designers is to re-direct its path to one which will be increasingly compliant with strict SGML standards, giving more and more control of the appearance of the document to mechanisms such as CSS2. HTML 4.0, very much unlike HTML 3.2, has started to build in support for different media types, allowing the author to control how a HTML page is rendered, for example, on a text-to-speech browser or a braille browser... or to control how a HTML page is rendered when it is sent to a printer, or a televison screen. As time goes on more and more support for this kind of thing will be added to HTML, while at the same time, making HTML itself more and more compliant with SGML. In future versions of HTML, I expect that the control of Tables, Inline Images and Imagemaps, Frames and possibly even Forms will be given to mechanisms connected to, but not actually a part of HTML. Currently the "Loose" Document Type Definitions or DTD for HTML 4.0 supports the physical styles defined by HTML 3.2, and if the Loose HTML 4.0 DTD is specified in a document which contains HTML 3.2 physical styles, the document will validate, but only if the Loose DTD is used. If the "Strict" DTD is used (or if any of the other 3 HTML 4.0 DTDs are used) and the document contains physical styles from HTML 3.2, the document will not validate.