Invalid Standards

An alternative title for this post can be “The crime and the punishment” .

So Mike did it again. Alongside his talent for design and coding he has a talent to ignite flame-wars on standards and validation.

Only this time it rolled out on much more cheerful occasion — redesign of another major site than the previous one on which I will not comment right now.

News was great, news was heard, comments rolled here and there. Then Ethan came and stirred it a bit more. Keith picked up and asked a very good question.

The problem is that Keith did not specify what he considers to be a “Web Standard”. Some (including me), also known as the “wrong gang” think that this means HTML, XHTML, CSS, DOM you name it. Others call “web standards” that I call “best practices” — clean, semantic code, separation of content and presentation, CSS layouts — do I really have to list all you know for a long time already?

In the first case, whatever Mike has to say, I have a news for you – straight from W3C

A Strictly Conforming XHTML Document is an XML document that
requires only the facilities described as mandatory in this
specification. Such a document must meet all of the following criteria:

  1. It must conform to the constraints expressed in one of the three DTDs found in DTDs and in Appendix B.

  2. (…)

How wrong am I supposing that validation errors do not exactly mean that code follows DTD rules?
So, question is answered. Don’t believe me, believe W3C.

Now, before you start kicking me and trying to dig out some invalid document on my site read this: invalid code may be ok, there are many factors that can make it difficult to achieve validity, and invalid code can be better than valid one — and often is.

Only do me a favour — do not say that invalid code conforms to standards. Whatever difficulties you experience with processes, third-party CMS, uncontrollable content, ads and stuff like that — that makes me to feel sorry and compassionate, but it does not make code any more standards compliant.

Actually problems with complex systems, third-party software and difficult to control content were mentioned quite often in the discussion alongside of “big picture” or inability to see it. Not exactly clear how does it work, but the wild guess is, that sitting on a huge pile of crappy software, wild content and messy CM process widens your horizon quite a bit.

I consider myself experienced enough to see the devil in the details of that big picture. Have you ever thought how did the this same broken CMS come to life? And why does it produces such a horrible code?

Right: because nobody cared. All were busy with more important issues – deadlines, team management, stakeholders, you name it. No one had time or will to care was that code valid or was it invalid, let alone unencoded ampersands. There are always more important things to do.

So let’s not complain — we are using software produced with exactly the same attitude towards standards like we have.
Sometimes I am not sure is it marching towards the better web or is it just spinning the vicious circle.

However Keith is absolutely right on this:

I just wish people would recognize that when a large corporate site (Which frankly has much bigger fish to fry than Web standards. Period.) like ABC News makes even the slightest move toward Web standards it should be hailed as a victory for standards and nothing less.

Still, I’d like to hear less advocacy for invalid code from big names. Yes, we all know, how the real work in the real world gets done. Let it be the little secret that sometimes it is OK to be not 100% OK. Big names should not forget that there are thousands of inexperienced web developers listening to them. Humans are lazy, coders are especially lazy so whatever can be used as excuse — will be used, and we will never break out of the vicious circle.

We should know the rules extremely well to be sure when it is ok to bend or break them.

Update: I assume it is resolved now.

4 thoughts on “Invalid Standards

  1. do not say that invalid code conforms to standards

    Exactly! You made a much better job of summing this up than I managed to do. I’m curious, though, about your statement that invalid code often is better than valid code. If you had said ‘sometimes’ I might have nodded, but ‘often’?
    My main focus is accessibility. With invalid code, although it may work very well in most user agents, you can never guarantee that it will work with assistive technologies. A left-out </table> tag may cause the DOM tree to be broken, and most screen readers use the DOM tree to access the content of a web document.

  2. You say “Only do me a favour – do not say that invalid code conforms to standards.”

    Is that wise? I mean my site is 99% valid. I’ve got a problem with my comments, which are essential to my site and I’ve actually spent quite a bit of time trying to sort that out. It’s not possible without sacrificing functionality. Period. So I’ve got to choose between validity and functionality. I chose functionality.

    Now, back to your favor. Should I now not mention standards on my site because I have a few valid pages? Fine by me, but I don’t see how this HELPS the cause of Web standards. If anything by alientating folks like me and Mike (and many, many more) all you’re doing is hurting the “cause.”

    As of now, I’ve removed my validation links. I’ve got absolutley no problem not supporting Web standards. I’ll leave that to the Zealots.

  3. Oh, this is tough and saddening :(

    Invalid code does not conform to standards — that’s the way it is, wise or not.

    “Not mention standards” is very different from saying that invalid code conforms to standards.
    It does not matter if your blog is 1% invalid — it is still better than 1000 valid ones, including this. And you should absolutely talk about standards — you have best web-oriented blog and thousands are listening (reading, I mean).

    And that’s why you should be careful with what you say. You say “It is invalid now but I am working on it” — it is OK. But when someone says “It is not valid, and will never be, so f*** the W3C” — that’s bad. It makes developers comfortable with a thought that invalid code is OK. “Keith said it, Mike said it, … said it” — so let’s move on.
    There is the limit of invalidity? How bad code should be when you will say, “no, that’s not acceptable”? Are majority of the web is based on web standards now, cause their code looks much like HTML?
    How are we going to have CMS that produce valid code if nobody cares?

    Do you agree, that getting valid code is the easiest part of developing the site (I am not talking about maintenance here)? Design, IA or usability is much more difficult to get done right.

    And not every site will be a blog with comments system. So if you done it right from the start you shouldn’t have much problems later.

    If one leaves code cleaning for the better times, that are the chances those times will ever come?

    Call me whatever you want. Calling names will not change anything. It will not improve anything. And we are on the same side anyway. Only you choose to emphasize what user sees and interacts, I am trying to say that code is important too.

    Or is it? Is Anne right: there is no point?