Why All Web Standards Suck

A Rant I Posted to a Dreamweaver Forum

Here's what i want to do:

Create web pages that are

I want things to *just work*, so i can spend my time creating content.

I want *all* elements of the system in place and working, with *no* decisions having to be made before starting to create a simple web document that satisfies the above principles.

Basically, i want what millions of people creating billions of documents want.


Here's the problems:

1. Instead of being told by W3, DreamWeaver, HomeSite, HTML Tidy, or anything or anyone else how to accomplish that task, i'm instead given millions of options, and have to spend days, weeks, or months sorting through them, analyzing, and experimenting. This is beyond the abilities of the vast majority of people creating web documents, and is a severe pain for anyone that has the ability but not the time.

2. There is no official current recommended doctype (or if there is, i haven't seen the recommendation, which amounts to the same thing). XHTML 1.0 seems to be the closest doctype to what i want. As far as i can tell, the XHTML spec isn't really valid XML, so it seems rather pointless. Try validating
    http://www.w3.org/
at
    http://www.stg.brown.edu/service/xmlvalid/

Since XML user agents are forbidden to continue processing invalid XML, it appears to be *impossible* to make valid XHTML 1.0 documents.

(I couldn't find an online SGML parser, so i couldn't validate whether or not XML was valid SGML. I'll just pretend that it is, and that big brother is taking care of the underlying technology that everything else is defined by. And as far as i know there has never been a full implementation of SGML, but i'll assume that valid subsets of it have been implemented and XML conforms to that valid subset.)

3. There is no official recommended way to convert older, possibly invalid HTML to modern valid (X)HTML. DreamWeaver has no tool to convert my existing HTML pages to XHTML. I have to switch to a second application, HomeSite, and use a third-party add-on, HTML Tidy, which means looking up documentation on the web for lots of confusing unix command-line options, some of which look like they'll create invalid XML.

4. HTML Tidy is poorly documented, has too many of some options and not enough of others, and is apparently buggy (unless HomeSite is the culprit).

4.1. I want my encoding to be modern, which indicates Unicode, and for reasonable compatibility it seems i should therefore use UTF8. But when i have a document with non-ASCII symbols, HTML Tidy corrupts them.

For example, if i have the character described by · [ · ], it gets replaced with two characters described by · [ · ]. So now i'm searching through Unicode.org to find out what should be going on. I assume that middot is a two-byte sequence, but should display in HomeSite, in DreamWeaver, and in browsers, as a single glyph. But it doesn't. So either UTF8 support is imaginary everywhere, or my document that should be UTF8 is not really UTF8, indicating that one or more of the tools involved is broken.

4.1.1. I experiment... ok, Internet Explorer displays it correctly after i manually set the encoding type in the browser. So apparently the problem is that when i set my doctype to UTF8 in the codesweeper, it sets my encoding to iso-8859-1 in the XHTML document via
    <?xml version="1.0" encoding="iso-8859-1"?>
and
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
...but then encodes the actual text as UTF8! Maybe it should be called WTF8.

4.1.2. So i right-click on it in HomeSite, choose Edit Current Tag, and get a dialog that doesn't give me a list of valid encodings. So now i have to know that iso-8859-1 is a latin-1 encoding and not a UTF8 encoding, and i have to manually modify it to be the correct canonical name, which may be described somewhere on the net if i look hard enough.

Searches...
    http://czyborra.com/utf/
interesting, but no quick answer.

Searches...
    http://www.w3.org/2002/09/xhtml-i18n-tests/
... sample page doesn't seem to exist, so i copy the URL and extract
    http%3A%2F%2Fwww.w3.org%2F2002%2F09%2Fxhtml-i18n-tests%2Futf-8-blank.xhtml
and convert it to
    http://www.w3.org/2002/09/xhtml-i18n-tests/utf-8-blank.xhtml
since i'm expected to know what the % codes are to get anything done, and find out that Internet Explorer doesn't recognize the .xhtml extension and i have to download the file and open it in a binary editor, only to discover that it doesn't include encoding information and apparently assumes UTF-8, which i can't do since i can't use the .xhtml extension without making my site useless.

Searches...
    http://www.w3.org/TR/REC-xml#NT-EncName
...ok so "UTF-8" is correct, and not "UTF8", and it is allegedly case-insensitive. So now i have to know to go to w3.org rather than doing what most people would do (ie google search) in order to find information, then have to extract it from the middle of a technical document. This is not something that 99% of web-page makers are going to do.

4.1.3. I now have what may be a valid first line of my document. But i still have this line:
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
which may or may not be needed or recommended (too tired to search to find out), and which probably needs to have a different MIME type. So now i have to know about MIME types. I search, and find this recommended for XHTML
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
here
    http://www.w3.org/International/O-charset.html

But earlier in my searches i saw something which indicated otherwise, so now i search for the remembered thing, get sidetracked in
    http://www.w3.org/MarkUp/html-spec/charset-harmful.html
then find this
    http://www.w3.org/TR/xhtml1/#C_9
where i'm told i should use the meta http-equiv tag, but that if i do web browsers may decide it's a document of type text/html rather than the correct MIME type, which i haven't found yet, and apparently i'm now expected to have full control over my HTTP server and the headers that it returns. But i'll ignore that and keep looking for the mime type... and get sucked into this thread
    http://lists.w3.org/Archives/Public/www-html/2001Jul/0101.html
only to realize later that it's an http issue for dtds and not anything for html, so i keep searching, and find:
    http://www.ietf.org/rfc/rfc3236.txt
with
    application/xhtml+xml
which one might think would indicate i should use
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
At last i find something that's readable and clear. But it seems to wind up just pointing me back to
    http://www.w3.org/TR/xhtml1
but it's now 3am and my brain is barely functioning.

 

[to be continued: CSS, DIV, etc, etc]

 

So, if i'm Joe Bloe and i want to sit down and write a simple children's story on the web the "right" way, i find i can't even get started without knowing HTML, SGML, XML, XHTML, ASCII, ISO, IANA, DTD, W3, W3C, MIME, RFC, Unicode, UTF-8, HTTP, RFC, IETF, RTFM, PDQ, WTF, ABC, and XYZ.

Because NOBODY ANYWHERE provides an authoritative black-box template to use, possibly because it's not even possible to do so yet with XHTML, and highly expensive custom tools devoted to making web pages provide no useful support. I would go back to HTML1, but all i find is HTML2 which is listed as "historical", so i'm now thinking my web pages should be ASCII .txt files if i want them to be valid. This of course makes them useless to the majority of the planet, so i'm forced to assign probabilities to tags, protocols, encodings, etc, etc, and choose the magical combination that is the least offensive of a billion evils.

Or i could just say "if it looks ok in Microsoft's current browser, it's 100% valid and correct, but it may rot and become corrupt and invalid the next time an automatic update gets applied". Which seems to be what most of the practical universe does, since the following are invalid documents:

http://www.amazon.com/    No encoding. No doctype. Errors: 637
http://www.apple.com/    Errors: 39
http://www.microsoft.com/    No doctype. Errors: 112
http://www.yahoo.com/    No encoding. No doctype. Errors: 209
http://www.livejournal.com/    Errors: 63
http://www.google.com/    No doctype. Errors: 53
http://news.google.com/    No doctype. Errors: 638
http://www.ebay.com/    No encoding. Errors: 173
http://www.adobe.com/    No doctype. Errors: 167
http://www.eecis.udel.edu/    Errors: 3
http://www.navy.mil/    No doctype. Errors: 1
http://www.cnn.com/    Errors: 46
http://www.whitehouse.gov/    No encoding. No doctype.Errors: 107
http://www.w3.org/WAI/References/QuickTips/    Errors: 5
http://www.mit.edu/    Errors: 6
http://www.macromedia.com/    Errors: 20

Conclusions:

There is no true standard for anything on the web.

It's not possible to write a 'valid' XHTML document.

Whining about invalid markup is whining.

All extensions are valid.

Microsoft wins.

We all lose.

Dogs lie down with cats.

Everyone for themselves.

The center cannot hold, and it probably wouldn't even if it could.

Gyring gimbles in the wabe.

All is chaos, and someone must ruthlessly wrest control. I am that someone. I'll let you know when my standard is available.

Jodawi, supreme ruler of the web