Separation of Content and Presentation debate considered harmful for the Web (and for the Web only)

For the time being, and if you are a Web content provider, you have three choices:

  1. HTML 4.01. The language was published almost 5 years ago and the W3C has consistently refused any addition to HTML since the 24th of april 1998. Only a few errata and clarifications were accepted into the 1999 XMas edition of HTML 4.01 (by the way, no, X in XMas does not mean eXtensible; you are infected by the XML-everywhere fever if you believe the contrary and you need to see a exorcist urgently).
  2. XHTML 1.x in all its avatars. Basically, it's an XML reformulation of HTML 4 and you have the choice between the normal and the xml-gurus-hate-presentational-content version of it. Sorry to say, but unless you want to export to the web data stored in XML format using proprietary DTDs or Schemas, there is no real incentive right now for a move to XHTML. All the arguments you can read here and there explaining why you should switch to XHTML, why XHTML is sooooo better for you, all these arguments are just crap (When I think on all the crap I learned in high school, it's a wonder I can think at all).
  3. XHTML 2.0. Forget it for at least three reasons:
    1. Do you really think you will have XHTML 2.0 editors and browsers on your desk tomorrow ?
    2. Have you seen the differences between HTML/XHTML1 and XHTML 2 ?
    3. It's a nightmare; when I read XHTML 2.0, I can't help thinking that jwz, who is rarely the finest diplomat (and that's not negative from my pov, let's call a cat a cat), was right in his opinion about W3C.

Hey, pal, the ball's in your hands, make up your mind. Yeah, yeah, all these people shouting "NO, don't use a presentation attribute, that's bad" in your back. Or even "Can't you see the STYLE attribute is evil!!!". Annoying, isn't it ? You want the simplicity of an XMLized HTML 4, but you can't find in XHTML the features you need because you need to rely on some hypothetic styling engine ?

There is a fourth way. The fourth way should be called xHTML 5 because it should not be a super-strict-XMLization of HTML produced by a bunch of XML gurus on crack (no kidding, XML gurus must be on crack to make a monster like XML Schemas, but that's another "considered harmful" debate), but a real and fair followup to HTML 4. It's xHTML and not XHTML nor Xhtml because the important part is HTML, not the X.

Here is what I have specifically in mind.

  1. xHTML 5 is an XML language. xHTML 5 has a DTD, no Schema. XML Schemas are a better proof of existence of the devil than XSL-FO.
  2. only three presentation elements should be kept because of their super-wide usage. B, I and U. These three elements should be part of a sub-DTD available for integration thru system entity in all DTDs (if that's not clear, blame the time, it's 5am here and apparently I've just survived a layoff, though it's not fully sure yet).
  3. all elements should have a normative default CSS style for visual media. For instance: em { font-style: italic; }
  4. presentational attributes are allowed, and to give my real point of view encouraged, if and only if they have a normative CSS definition for visual media. For instance: p[align] { text-align: attr(align); } or td[bgcolor] { background-color: attr(bgcolor); }
  5. let's put in xHTML 5 all the stuff the web authors need since 1998 and never got from the W3C: more META keywords, BGCOLOR on all elements, BGIMAGE on all elements, HEIGHT on TABLE, and so many other things. Drop me a mail if you have a suggestion. The contest is open.

Presentation hints are not bad. Closing the eyes in front of reality is bad, fanatism is bad. The Web just does not need strict separation between content and presentation. The Web needs Keep It Simple and Stupid. Because the customers of the Web are you, me, your child, your gran'ma, and the stupid sales guy next door. The stupid sale guy next door does not care about XML and strictness and he is right doing so. He wants a simple way of doing sexy documents, period. Other customers of the Web are Web authors. And Web authors want, need power and simplicity.

XHTML is simplicity without power. And I'm not sure about simplicity.