The Flesh and the Soul of Information. The Practice of Orthogonal Design | WebReference

The Flesh and the Soul of Information. The Practice of Orthogonal Design

  The Practice of Orthogonal Design

XML still being a Big Thing To Come, let's leave it for now and discuss what are the ways (if any) to pursue more XML-like document creation patterns with the current technology we have now: HTML, with or (more often, due to Web authors' inertia and poor implementation in browsers) without CSS.  It's not that current technology is completely unable of separating content from presentation; the biggest obstacles on the way have more to do with psychology, rather than technology---you have to somehow gain a new understanding of what you post on your Web site.

Just like nobody to date observed a bodiless soul, so its existence can be doubted, it's extremely difficult to imagine, and even harder to implement, a completely "presentationless" content.  No less difficult is perceiving how content, even if it existed independently, can be absolutely orthogonal (i.e. independent) with respect to presentation.  This is a challenging abstraction exercise, and it actually requires some training, plus a special mentality or frame of mind, to immediately see where the dividing line should be drawn (and yes, there are cases when this line can be drawn in more than one way).  Otherwise, SGML would have long ago become a commonplace and wouldn't need any advocacy.

Since in the case of HTML without CSS we have a single language responsible for both structure and presentation aspects, it is highly important to develop certain usage conventions that would allow for an easy, ideally automatic, separation of presentation from content (however, in compliance with its level of abstraction roughly corresponding to that of word processor formats, HTML's "separated content" mostly consists of the plain text part of the document---hence, for example, the importance of proper alt texts for images).  Thus, besides their primary role, all HTML elements and attributes tend to form two groups at both sides of the Great Divide, one group with primarily structural and another with primarily presentational meaning.  This principle is behind the segregation of "deprecated" elements and attributes found in HTML specification, as well as in the foundation of most accessibility guidelines that HTML authors should obey.  Unfortunately, many HTML users simply don't realize why the structural elements are there and what they could be used for.

Apart from technology where the two aspects are confused due to the unfortunate development path taken by HTML in the past, one might face some difficulties when trying to differentiate these aspects in the first place.  Formal mechanisms, be they HTML or XML, can do their job of markup only after the two aspects already lie separated before the author.  In fact, if we take an already formatted document and try to tear it up into presentation and content parts (this task may seem a bit easier than composing a new document while maintaining orthogonality of aspects), this process may prove quite ambiguous for a number of reasons.

One difficulty is that in the final document, the two aspects are not only fused together---they can even overlap.  When boiling down "pure content," you will often find it necessary to add descriptions or placeholders for some valuable pieces of information expressed by strictly visual means.  For example, icons often need textual equivalents (alt texts) even if in the visual version of the document they are purely graphic.  For a more complex example, consider how visual elements might show the connection of corresponding pieces of content only by their relative positioning on the page; in the content-only version, some structural or textual means must be added for expressing the same relations.

On the other hand, when evaporating presentational parameters, you'll have to carry off some bits of content as well.  These bits are usually called "generated content" and include numbering of headings (which must be generated by stylesheets rather than hard-wired into the text), sidebar headings such as "NB:" or "Tip:" consistent throughout the document, etc.  Additional difficulty is that presentation information must have a somewhat different structure than content---the former is usually grouped per element types while the latter is mostly sequential.  Here, the responsibility of the stylesheet language is to make the task of structuring presentational information as natural as possible.


Created: Apr. 19, 1998
Revised: Apr. 19, 1998