A Couple of Questions About Web Standards Advocacy and W3C Validation Buttons | January 26, 2004

Over the weekend a few people picked up on the fact that my homepage no longer validated. I felt it was OK to keep the validation buttons as they are a means of helping me keep the site valid and also act as a show of intent and transparency. However not everybody agreed.

There was also a feeling that as my site didn't validate It was hypocritical of me to discuss web standards.

So:

Q1. Does having validation buttons require a site author to validate their pages every time a change is made or is it sufficient that the site validated when first published and checked periodically? Knowing that a page may not validate 100% of the time, is it better to have no validation buttons?

Q2. Is it hypocritical to discuss web standards if your page doesn't validate.

Posted at January 26, 2004 9:13 AM

Comments

Tobias said on January 26, 2004 9:32 AM

Hmm, in fact it does validate!

Silvano Stralla said on January 26, 2004 9:50 AM

Web standards are something one should aim to. So:

Q1: A page should validate every time you check it, but sometimes it’s a just a bit… I don’t think it’s better to have no validation button: they make validation process more intuitive.

Q2: No!

That said, when I see a validation button I just think that the one who makes the page knows something about the web standard. Then, if the page don’t validate I look at the type of errors: I don’t think that an error on some entity is the same as don’t closing a tag p in (X)HTML.

Anyway, like other aspect of the web, standard compliance is not just a question of buttons: you can have meaningless alt attributes on every image and have your page validated without difficulties.

Andy Budd said on January 26, 2004 9:54 AM

Sorry, should have mentioned that I cleaned up the few errant &’s over the weekend and my homepage now validates.

Keith said on January 26, 2004 9:58 AM

No and no.

It is damn near impossible (and not very practical) to keep a site that is updated with any frequency valid 100% of the time. Anyone who will tell you different doesn’t know what they’re talking about.

It’s just way to easy for small things to creep in. It is quite a challenge to maintain a valid site and in my opinion folks should be applauded for even trying.

I think the key is to know where you have validation issues and if they are worth tackling. I have things on my site that I know don’t validate and never will — but they’re small and could be easily removed. Would I have a problem displaying “validation buttons”? Hell no.

As long as you can explain your reasoning, and you know why your site is invalid, who really cares? We’ve all got better things to do than placate the W3C’s validator right?

I’ve come across the same issue. Some people disagree, and that’s fine. Usually they don’t have a site of their own to maintain, so they don’t know how hard it can be to keep a site valid, but whatever.

Do your best to keep a valid site, acknowledge your short comings and you’ll be fine.

Colly said on January 26, 2004 10:14 AM

I’m hoping we’re not heading towards a blanket decision on the use of validation buttons (along with ‘fixed vs liquid’ etc) - the industry has to be clear on the difference between setting standards and being dictatorial.

Your second question is interesting. Part of me thinks it’s more relevant to discuss standards if your pages don’t validate - the whys and wherefores of what’s wrong can be discussed. Look how many people are scrutinizing your blog! It keep sthe debate going. Besides, you never claimed the site validated, you only put the buttons on the page for the visitor to investigate.

The main thing is that we take an overview of standards - where and how do they apply to a particular build. In that sense I sometimes wish the main validators were suggestive rather than black or white.

Again, if the site were for a client, and you’d promised 100% compliance, then that’s one thing, but on your personal blog - do what you feel you should…

Jon Hicks said on January 26, 2004 10:21 AM

I think Keith has said it all!

Drew McLellan said on January 26, 2004 10:24 AM

I guess the question I’d have to ask is that if you’ve made the decision to use web standards when building the site, why would you let it become invalid? If the page is invalidated by accident then you’d fix it as part of testing your own work, surely?

Compare it to a spelling mistake in your content. When constructing a post you use the tools at your disposal to make sure it’s correct (a spell checker). After posting you proof-read your work and if you spot anything wrong or misspelled you fix it. So what’s different with the construction of a page? If you make a change, check your work. If it’s wrong, fix it.

Mistakes are easy to make, but so are corrections.

Tim said on January 26, 2004 11:01 AM

If you serve your content as application/xhtml+xml to those user agents that can accept it (sniff the http_accept cgi header), then you can check your work in Mozilla/any GBB. If there’s a problem, the page won’t render and you’ll get an XML parsing error.

It sure keeps you sharp…

More info

Tim said on January 26, 2004 11:01 AM

Gah - the link got eaten:

http://www.christian-web-masters.com/articles/web_XHTML.html

Joel said on January 26, 2004 11:23 AM

If these Valid XHTML and CSS buttons appear on many sites that don’t actually validate when put to the test, then they become meaningless. If they just mean that the page validated at some time, they are equally meaningless. More than that, they are an abuse to the intent of the W3C.

Question is: why are you so attached to having these buttons if you are less attached to the work of ensuring your site validates all the time they are displayed?

Display of these buttons indicates that you are committed to maintaining a valid page, if you shirk that they shouldn’t be there.

Another question is: why did you go to the effort of making sure your site validated again on Sunday? Presumably you thought it was worthwhile after all. This issue is extremely straightforward, aren’t we making a bit of a meal out of it?

Perhaps someone should design some lesser W3C buttons for those who only try their best and like cop-outs when called on it.

Overall: if you can’t be bothered to put in the effort to ensure your site validates all the time, then don’t have the buttons. This is SO simple! They are not there just so some anal-retentive can keep you on the ball, you’re supposed to do that yourself.

Jim Dabell said on January 26, 2004 11:48 AM

Q1: There’s a big difference between a link to a validator and a label saying “W3C XHTML 1.0”. If all you are using the link for is for convenient validation, just use one of the many toolbars/bookmarklets/favelets available. If you are including the link to promote adherence to the specifications, then you really ought to make sure the page in question does so itself.

Q2: Of course it’s not hypocritical.

PS: If you keep the link, pass the address of this site to the validator explicitly, lots of people disable the Referer header.

Tim said on January 26, 2004 12:28 PM

There’s a big difference between Web Standards, and page validation:

The “Valid (X)HTML” button has nothing to do with whether you’re using web standards or not, and everything do do with whether the page is valid (or not).

I just think the distinction is useful…

Chris Vincent said on January 26, 2004 12:45 PM

No, and no. The last thing we need is standards elitism, judging a person by the validation of their website.

Just validate every now and then. If someone is validating your website more often than you are, that just says something about their own priorities; perhaps they’d rather stand as some great arbiter rather than actually contribute. Besides, validation errors are usually just something as small as the ampersands in a URL.

The validation buttons are a sign that you took effort to reach validation, and that you periodically check that things are still up to speed. It says “Validate XHTML”, not “Judge Me”.

Isofarro said on January 26, 2004 12:59 PM

Andy: “Is it hypocritical to discuss web standards if your page doesn’t validate.”

No. Though I’d expect people to practice what they preach. An invalid page is not necessarily proof that you aren’t practicing what you preach. It does not say “I don’t use webstandards”, it merely says “This page is invalid”. Nothing more.

You’ve done the right thing to fix the validation errors that have been reported - that shows committment to webstandards. You fixed problems when you were aware of them.

I don’t use the validate icons on my websites, for the same reason I don’t have a “this website woz spel chekked!” icon. I feel its part of the job to have a valid website.

Although, its easier when using online tools to create invalid pages - I’ve had to spend some time correcting naked ampersands on my blogs last week. So now, in my blog’s editing mode I have a validate link right next to the edit link just so that its less of a hassle to validate pages.

Remember valid HTML and CSS does not necessarily mean the site is more accessible - take Joel’s website for instance: http://biroco.com/journal.htm — It may validate - but white text on a light grey background for a header? It looks manageable on a TFT, but on a 17 inch CRT its getting too close to unreadable.

Mark Pilgrim makes a very strong point about valid XHTML in http://diveintomark.org/archives/2004/01/14/thought_experiment . Well worth a read.

Colly said on January 26, 2004 1:22 PM

I like the idea of an encoding validation taking place as a new entry is submitted, and there is sense to the ‘spellcheck’ comparison. But, my interest in standards was first sparked moons ago by seeing a validation link on a site, and wondering what it’s purpose was. If this is a way in for both businesses and developers (at this time) it can only help.

I think eventually it will be inappropriate for everyone to use the buttons, because we’ll all be coding responsibly, but for now it is highlighting the transitions people are making - and yes, occasionally the pages are invalid due to an ampersand - and that is forgiveable, isn’t it?

So, we keep the buttons for now, if we want to use them, but collectively we know/hope there will be a day when they are no longer required at all.

pid said on January 26, 2004 2:14 PM

Goodness me.

What a thoroughly entertaining pair of threads, and I’m not talking pants here. I’ll throw my twopenneth worth in if you don’t mind…

It’s not for us to choose the purposes to which we put devices such as the W3C valid (thing) buttons.
Their purpose is clear, and I’m sure that whoever wrote the original text sweated blood over the exact wording. I think “care” is the important word in the current climate.

I do however feel very strongly that the occasional omission, error, cockup etc is entirely forgivable, even if it’s uncorrected for whatever reason.

While we’re counting the things that make up a good website, why don’t we add “value of contribution to the public good” or something similar. Then when we run the old “he who casts the first stone” script it’ll have something a bit meatier to chew on.

It’s not always practical to hand code everything, but then there are limitations to automating processes.

I’ve built CMS in a variety of languages, and universally it is a complete arse to properly encode all content on input, or output. (I can see the sneery comments coming, so just don’t bother alright?) Time is money and the money isn’t always there.

p.p.s. Joel you’re a bit old to be so smug aren’t you? And is your name really Steve? I don’t gettit. Is that an identity problem or just a whole other personality?

burt said on January 26, 2004 2:37 PM

1. we’ve all been guilty of making stupid mistakes that invalidate the page, however severely or temporarily. is this a hanging offence - i think not. to religiously build sites which would never and could never validate - is.

2. it’s all down to the preaching - i spotted a site which had a valid xhtml + css link - so being curious i clicked - it took me to a totally different empty page.

the person was trying to suggest the entire site validated and had only made one page work - now i think that is worth getting angry about.

good people like ourselves try our best - without losing too much of our free time - to do the decent thing. valid, nice looking and interesting content.

if it’s a personal site - i have no problem with someone having the buttons and a spurious error or two. if it’s a commercial site and it’s a template thing - not so good.

Kevin said on January 26, 2004 2:55 PM

Personally, I try to live up to the claims. But it’s not possible 100% of the time to validate :)

As you say, copy/pasting from various sources make for a nightmare with entities, and the whole entities model is a nightmare to start with.

So no, it’s not hypocritical to discuss standards when you don’t validate.

Egor Kloos said on January 26, 2004 5:01 PM

Yes I believe that is better not to have any W3C validation buttons on a website. The button suggests that the page does validate. The webpage may at some point in time fail this qualification making the claim false. Taking the buttons down when you start altering the page in any way and putting it back after the work is done and revalidating it seems like a pain in the backside to me. Besides, no one really cares that the site validates. Why should we? I don’t read a weblog because it’s pages get the W3C thumbs up, and if it didn’t I still wouldn’t care. If I did encounter some problem I may respectfully note the error to the author. And anyway if people regularly validate pages to have a peek on what’s going on underneath they should consider adding a toolbar or a favlet to their browser. Just forget the button.

Well if a page does validates then there isn’t that much to discuss. Just to show that web standards do indeed work. Discussing webstandards when a webpage doesn’t validate seems like common sense to me. Maybe the W3C button could be replaced by something else like ‘Do I validate?’.

In your case Andy you don’t even use the W3C buttons so my ‘no W3C button’ argument in this case is kind of mute.

Wayne Burkett said on January 26, 2004 6:07 PM

“It is damn near impossible (and not very practical) to keep a site that is updated with any frequency valid 100% of the time. Anyone who will tell you different doesn’t know what they’re talking about.

“It’s just way to easy for small things to creep in. It is quite a challenge to maintain a valid site and in my opinion folks should be applauded for even trying.”

I disagree with you, Keith, but I also agree. I publish my site in valid XHTML 1.1 — correct MIME type and all, to browsers that support it — which means that entries with invalid XML (unencoded ampersands, nesting errors, etc.) bring down the entire front page (in most browsers).

These errors are pretty easy to prevent using Jesse Ruderman’s “XML well-formedness” bookmarklet (http://www.squarefree.com/archives/000033.html), which checks a textarea for XML errors. It’s still possible to cause a validation error by using an invalid element or attribute, but in personal experience, most errors are caused by unencoded entities and nesting errors, both of which are near impossible to miss using Jesse’s tool.

So, in this sense, I disagree with you: it is reasonable that anyone claiming their site validates be expected to make sure new content validates. Use Jesse’s tool. Write carefully.

The hard part: external content. Our site was down for a full day last month because one of our del.icio.us links, which we include dynamically, contained an unencoded ampersand. Oops.

In summary, enforcing validation is extremely difficult when you don’t control the source, but there’s no excuse for generating your own invalid content.

David House said on January 26, 2004 6:55 PM

2) No, but don’t preach them.

Andrei Herasimchuk said on January 26, 2004 7:08 PM

“These errors are pretty easy to prevent using Jesse Ruderman’s “XML well-formedness” bookmarklet (http://www.squarefree.com/archives/000033.html), which checks a textarea for XML errors.”

The issue isn’t so much that we have tools to check work after the fact. That’s nice and all, but it doesn’t address the problem. The issue is that the tools we use should prevent them from happening in the first place.

Truth be told, learning the standards way to do things is fairly straight-forward. Coding to those standards, if done entirely bby hand, is also very straight-forward. The problem I encounter is getting my tool (MT) to prevent bad data from creeping in, even if by me externally. I haven’t gone XHTML Strict for this very reason. I know it can be done, but I’m still learning how to best use MoveableType, which does not make this a straight-forward process.

Further, the tools we use need to help us check proactively. Why can’t I validate an article inside MT before I post it? They could make it easy for me to validate an article online just like I preview it to check for spelling errors. (I know they have lots of feature requests and need to sort through them. Been there.)

In the end though, the whole button use discussion seems rather like sidetracking the real issue. If you have buttons, and they claim whatever they claim, then that should be so. If the reality is different, remove the buttons. Either fix it or don’t use the buttons.

But that’s not what we should be discussing. We should be disucssing what kinds of features we need from our tool developers (BBEdit, MoveableType, Blogger, PHP, Google’s AdSense, Amazon Associates, etc.) so that we can make standards compliant web sites without going through a million hoops in order to do so.

Being a tool developer myself (although I haven’t worked on Photoshop in two releases), I think these sorts of requests from the user base are entirely reasonable.

Keith said on January 26, 2004 7:13 PM

Wayne, you’re right, and it is external stuff that usually causes the problem. You don’t allow comments, right? That is where I see 98% of my validation errors.

My own Web site, at some point, was 100% valid. I don’t use the buttons (not yet anyway) but I claim to have a valid site.

It is valid, usually, but on many of my entries someone has posted a comment that has made the site invalid. I rarely, if ever, cause these errors myself. I do use the bookmarklet you mentioned and it does work great.

Should I be bothered to check every single entry and all the comments. I post 5 or 6 entries and average 40 or so comments a week. A few errors are going to slip in. I know what they are and frankly, I’m ok with them in the main.

Sorry, I’ll pass, and if I were using the buttons and someone were to call me out on that I’d just laugh, acknowledge and move on.

Jeff Croft said on January 26, 2004 7:22 PM

I haven’t yet had time to read all the comments here, so forgive me if this has been said…

I answer no, and no.

1. It’s routine for me to make a mistake when posting a new blog entry. I’ll forget to add an alt tag to an image or something similarly small. When I discover an error, I fix it. It would be absured for me to re-validate every time I post a blog entry, just to make sure. When I see a site with the validation buttons, I infer that this is someone who cares about web standards and does their best to maintain them. It may not always be possible, or they may simply make an error once in a while. Big deal. Who goes around validating other people’s sites, anyway?

2. Anyone can and should discuss web standards, even if their site is full of nested tables, non-semantic markup, and capitalized tags.

Andy, you have clearly been a significant player in the web standards movement — anyone who throws that out the window just because a page you created didn’t validate deserves to be ignored.

Wayne Burkett said on January 26, 2004 7:34 PM

“Wayne, you’re right, and it is external stuff that usually causes the problem. You don’t allow comments, right? That is where I see 98% of my validation errors.”

That’s right. It’s nice and comfortable up here in my ivory tower.

“Andy, you have clearly been a significant player in the web standards movement — anyone who throws that out the window just because a page you created didn’t validate deserves to be ignored.”

I absolutely agree.

P01 said on January 26, 2004 8:54 PM

A1. IMHO having validation buttons implicitly mean that your page validates ( every time ), and makes you subject to people picking you if your page do not validate for one reason or another.

Well, everything should be done to make sure your CMS generates some valid code ( for both the entries and the comments ).

During an update or maintenance session it’s good to display an ADMIN warning stating that the site may not work at its best during few hours/days to stay away from stupid/childish behaviours.

A2. No. Provided that you know how to make a valid page, it’s not hypocritical to discuss web standards.

Seth said on January 26, 2004 10:01 PM

Q1. Please refer to my comment here [link]http://www.andybudd.com/blog/archives/000144.html[/link]
Q2. I think it would be hypocritical to preach standards without practicing them, but just discussing them is not hypocritical.

Steve said on January 27, 2004 12:23 AM

I feel that a web designer should make every attempt to use valid code. On the other hand, browsers should be designed in such a way that they are relatively forgiving of errors. (at least minor details).
To make an analogy—a TV never receives a “perfect” signal. It incorporates circuitry that helps it to give a pleasing picture if the errors in the signal are not too great.

Patrick said on January 27, 2004 4:56 AM

If your page validates after a redesign, a periodical check up seems fine to me. If I’m adding an entry to my page two or three times a day between work and other distractions, I shouldn’t be crucified if I forget to ASCII an ampersand.

Nice site, btw.

Mike said on January 27, 2004 8:26 AM

Question 1a:
This point has been mentioned, but if you are declaring yourself standards compliant, then be standards compliant.

Question 1b:
Yes, knowing that a page may not validate 100% of the time, is it better to have no validation buttons.
Having the buttons and not validating could be misread in several ways:
1 - The webdesigner is sloppy.
2 - The page owner is sloppy.
3 - The specs themselves are a joke, and not to be taken seriously.

Q2: No.

It comes down to credibility of you the designer, the site owner and finally the W3C.

I also echo Jim Dabell’s comment:
‘If you keep the link, pass the address of this site to the validator explicitly, lots of people disable the Referer header.’

Lots of people’s antivirus protection disables passing of the referer header.

Jules said on January 27, 2004 2:12 PM

Sorry Andy but I feel that if you are going to “post” the buttons, you must comply with them and compounded with that, if you are going to be an advocate of Accessibility, then you must prove your understanding and capacity to create accessible sites.

That this part of your site is a blog which likely is run by some blog software has both pros and cons in terms of accessibility. If the blog coding is constructed to support accessibility, then adding more articles should not affect its accessibility - it should generally remain accessible. However, if the software is not constructed to support accessibility, then perhaps you should either modify it or change to another (yes, I know that would be a difficult task).

I value the content you have provided and have chosen not to comment on its accessibility but I do agree that if you are going to raise the flag, you should stand by it.

Colly said on January 27, 2004 7:35 PM

After reading the article over at Whitespace that references this debate, I have decided to go for one link to an accessibility statement where I’m free to explain my method. In the past I’ve combined a statement with validation buttons for clients, but never both on a personal project. Next week I’m going to revert to a statement on all sites I still have admin rights with, both personal and client originated (if they’ll let me).

Personally, I feel I have to highlight the use of standards somewhere, during these transitional years, and a statement will be my preferred way of doing this, plus - it’s only one link.

Cheers to Andy and the other blogs for delving further into this issue. Industry standards are one thing, but it’s vital that we also define our own individual approaches…

Mike D. said on January 28, 2004 6:28 AM

Regarding the buttons — Valid or invalid, is a Good Housekeeping XHTML 1.0 Seal of Approval really a good idea on a site anyways? I mean, isn’t that kind of like announcing that you speak perfect English every few minutes in a conversation? What’s the point? Name me any other medium where such an element would deserve a persistent place on the screen/paper/etc. If the best thing you can say about your site is that it happens to be XHTML, it’s probably not a site worth having.

Regarding the neccessity of validation — If you’re going to advertise your level of validation so prominently, then yes, clearly you should validate. Incidentally, I honestly believe this is actually the only scenario in which it is unforgivable not to validate. In 99% of cases, your web site’s reason for being is not to validate. It is to communicate, to entertain, to educate. Not to validate. Validation is just a best practice. But if you specifically maintain a website about validation, or you advertise that you validate, then ummm, yeah, validate or you’re gonna look kind of silly. I’ve received fleeting rounds of gunfire from validation vigilantes for the work we’ve done at ESPN, and I’d say about 95% of the time I run these people’s sites through the W3C validator, they fail. Sometimes badly.

Regarding the ease of maintaining validation — Let’s please try and resist the urge to say things like “If I can validate, why can’t you?”, okay? If you spend a week on your templates and the rest of the year adding content without touching much code (as is common with blogs), then of course it’s easy to maintain a valid page. If, however, you consistently create entirely new pages, sections, layouts, and elements for the sites you maintain, it becomes a lot tougher. Add in the element of this new code coming from various people and sources, and it becomes even tougher to deal with. The bottom line is that certain sites are a lot easier to maintain validation with, and how much time/effort/money you spend to ensure this validation depends simply on how much it matters to you.

Simple said on January 28, 2004 7:06 AM

look

If you have w3c buttons on your site then the page should validate by standards, and dont delete my posts, just because i point out the obvious.

Andy Budd said on January 28, 2004 8:36 AM

“Simple”, I deleted your earlier post because you’re using a fake email address/url, not because you “point out the obvious”.

gaston said on January 28, 2004 4:51 PM

Suppose you’re of the type that actually wants their site to validate 100% all the time. The validation button helps even if the site doesn’t validate, cus someone will send you an email telling you the page does not validate and you’ll be able to fix whatever’s wrong (like the &s; you fixed).

But anyways, if you aim towards standards that should be good enough. It’s not hypocritical to discuss standards if you don’t have a valid site. Plus, your site is yours, you can discuss whatever the heck you want!

Andy Budd said on January 31, 2004 5:16 PM

I’ve just installed a couple of little MT plugins to pick up some of the stray characters that cause validation problems.

The first is Amputator, a plugin that encodes &’s into &’s.

http://bumppo.net/projects/amputator/

And the other is SmartyPants, a plugin that creates nicely encoded quote marks, amongst other things.

http://daringfireball.net/projects/smartypants/

Lars said on February 18, 2004 2:13 PM

A1. Yes and yes.

A2. No.

I don’t see the point of having these buttons in the first place though, even with valid pages.

If fast, efficient validation capabilities are required, I recommend installing Checky, a Firefox extension. It provides right click access to a number of validation services.

Lea de Groot said on February 19, 2004 1:02 PM

I’m not rally interested in stamping my pages with ‘valid’ logos; joe user doesnt really care.
But I have been thinking about including code to decide, upon page load, if the page has changed since it was last viewed and if so test for validity and if it doesnt validate, email me.
Now, that could be useful - systems that report back when I make a mistake and make them invalid :(