Fog Creek Software
Discussion Board




Best self-defence when...

Hi,

I need some advice, maybe you can help.

I made a website, and the client was happy. The site looks good and functions properly.

However one of the client's colleague sent him an email saying that the site is sh*t, because he run a html validation on it, and found 150 errors.

Of course he didn't mention that 100 of these errors are missing ALT tags, and the rest is mostly compatibility errors with Netscape 3!!

The client who is technically inexperienced, and has no knowledge about html went mad, as what he see is that his site has over 150 errors in it.

Of course I can start explaining to him that these are not real errors, I think there is no reason for this type of self-defence.

However I also want future work from this client, and somehow show him that his colleague has a bad mouth only and he want to damage our relationship.

Do you have any advice on this?

na
Wednesday, September 03, 2003

One option is to generate valid HTML.  The ALT attribute is actually considered mandatory in the img tag, although it doesn't generate any problem in graphical browsers.  It's the only part of your image that will show up in a text based browser though. If you client has any visually impaired customers, this is an important feature.

http://www.w3.org/ has a free validator.  HTML that is rated compliant by this site tends to render pretty well in most browsers. Unless you know that everybody is using the latest version of IE, this sort of compliance isn't a bad idea.

Clay Dowling
Wednesday, September 03, 2003

Fix the errors.

John Topley (www.johntopley.com)
Wednesday, September 03, 2003

I think that fixing the ALT tag errors is a given folks.  I think what he's asking about is how to mend the relationship that this colleague is "interfering" with.

GiorgioG
Wednesday, September 03, 2003

Fix the errors, in as short a timeframe as possible.  Then -- and this is important -- simply tell him it was done, that it took you an hour, and stop right there.

If he's a client worth having, he'll realize he flew off the handle for no good reason.  If he isn't, you don't want to work with him anyway.

Sam Livingston-Gray
Wednesday, September 03, 2003

Do the fixes if possible. Afterwards show him a fully valid (unrelated) page on which IE5 barfs. Ask which "validation" he prefers.

Just me (Sir to you)
Wednesday, September 03, 2003

I'm a weasel and would say that I don't "optimize" pages until the client is satisfied with the work.  I've found it saves them on billable hours. 

Lee
Wednesday, September 03, 2003

adding 100 alt tags should take approximately 5 seconds with the proper perl script.  then you only have 50 more errors to go.

rz
Wednesday, September 03, 2003

huh. well. Maybe I'm kind of a bull-headed guy, but my original idea was that I won't fix these alt errors, only if client asks from now on. Because I think it's simply stupid in 99% of cases (eg. background images in tables). anyway.

na
Wednesday, September 03, 2003

it is a stupid complaint, but it really should only take less than an hour to fix the problem.

rz
Wednesday, September 03, 2003

Well, mot to be someone that likes half ass work arounds but it wouldn't be hard to do a find & replace for "<IMG" and replace it with <IMG ALT="ALT TAG" and that resolves the technical problem ;-)

GiorgioG
Wednesday, September 03, 2003

So, umm... I hate to beg the unasked question but no one else has:

What was your "acceptance criteria"? By this I mean what, exactly, did your agreement spell out as making the site "acceptable" to the client? I tend toward the hard-line and if the client signed off on it as "acceptable", then he's outta luck on having it changed unless he's willing to put more $$$ to it (granted I don't work with HTML, however this should apply to all development work.)

You see, unless you've got some clear demarcation point that says it's both (a) done, and (b) meets the agreed upon spec, then you'll be fighting this battle the rest of your carreer, where clients will milk you for everything you've got. My guess is that you don't have any formal agreement with the client is that correct? If so, I'd suggest correcting the (so-called) errors for free, in return for a sign-off on a statement that the code is now complete, and is what the client wanted. You will then have this to fall back on should he decide, say, 6 months down the road, that he doesn't like something else and wants it fixed for free (as in beer!)

Sgt. Sausage
Wednesday, September 03, 2003

I agree with (fellow Cincinnatian) Sgt. Sausage in every detail. When you're doing contract work, you need to clearly establish the parameters of the deliverable.

However, you also have to respect the customer's "reasonable" interpretation of what they are hearing, and, somehow, try to affect it so that the client doesn't believe that you passed garbage off on him.  I think that's the major cost here - your reputation. You are a casualty of the (probable) fact that you didn't define an acceptance criteria for the web site that could cover you.

In this instance, an acceptance criteria that would suit your purposes could be described as "Visual appearance of the web site as displayed in common browsers such as (blah, blah blah) will be used to determine suitability of the work." This would imply that technical nits like missing ALT tags aren't to be considered.

There are two ways to go here.

Educate the client (as much as practical) and try to lay the issue to rest - for the sake of your reputation.

If this fails (and even if it doesn't), just use a text editor and insert ALT tags that will pass an HTML validator. And make the point if you do this that it does not affect the usability of the site one iota.

Bored Bystander
Wednesday, September 03, 2003

How about not "educating" your client that your errors don't matter, of "fixing" them by adding meaningless alt attributes, but admitting that your site actually was pretty bad, and write standards-conforming, accessible HTML next time?

motta
Wednesday, September 03, 2003

--
I'm a weasel and would say that I don't "optimize" pages until the client is satisfied with the work.  I've found it saves them on billable hours. 
--

I think this is the best advice. Just say you were waiting to clean up the html. This is the best way to save face. Do not argue about it!

Also, be SURE to mention that these "errors" did not affect the pages on your client's browser.

You might not think the ALT tags and other errors are valid - but the validator found them. They are potential problems for nonstandard browsers.

Unless the compliant HTML is much more complicated I don't see a reason to leave something broken even on Netscape 3. It's more work now for you to make the changes, but in the future maybe you can use code style that works everywhere.

Also, did you run your HTML through a validator before deployment?

NathanJ
Wednesday, September 03, 2003

"Because I think it's simply stupid in 99% of cases (eg. background images in tables)."

It's not stupid. It's required by some HTML 4.0x DTDs. Which raises the question: Have you assigned a DTD to your pages? If so, and if your DTD defines you need those attributes (IMPLIED), then just add them with empty content (alt=""). Also, be sure to validate your pages against the official W3C validators, which I doubt do check for NN3 compatibility.

Also, some browsers for visually impaired users treat images without alt-tags as important ones, thus rendering them with full source path. If you provide empty alt-attributes, they will be hidden to those users (e.g. 1x1 pixel gifs).

Johnny Bravo
Wednesday, September 03, 2003

I agree with Sgt. Sausage. 

The important question here is what were you hired to do?  Netscape 3 is ancient and no one would expect compatibility with it unless that was made explicit in the requirements.  For pretty much any nontrivial site, cross-browser compatibility can be a nightmare to get right.  It takes time, time is money.  If the client wants to pay for that, they get it, otherwise they don't.

What you could do is run some popular sites through a validator and show your client the results.  Try finding a site using http://validator.w3.org that doesn't have any errors. 

SomeBody
Wednesday, September 03, 2003

Incidentally, the correct thing to do for alt tags where they are background images, etc. is to give an ALT="" definition. This is important, and becoming increasingly more so. Read up on standards based markup, seriously, you will soon start to find many more clients like this, and if you're unlucky, some will actually know what they're talking about.

Andrew Cherry
Wednesday, September 03, 2003

This is more of a political issue than it is a technical issue.

Sausage is right about having it spelled out beforehand, but that's really water under the bridge now. You've got a client that is being told his site sucks and is probably broken because it doesn't support Netscape 3.0. So what do you do about it?

Well, one thing not to do is tell your client his colleague is an idiot. (Even though he probably is.)

Present statistics that show how sparsely Netscape 3.0 is being used and do your best selling job on why making your site 3.0 compatible is not a great idea. Because it wasn't spelled out early on, you don't want to get into an argument over whether or not your contract dictates Netscape 3.0 support or not. You will lose on this no matter what the outcome is.

Agree that IMG tags should have the ALT attribute and put them in there. That will go a little ways towards showing your client that you're not an obstinate ass who refuses to admit he was wrong. (Unlike the other 90% of techies.)

Demonstrate the site on various browsers and operating systems to show that it in fact does look the way he expects it too look. HTML validation notwithstanding.

Offer to meet with your client and his colleague to explain to his colleague that having ALT attributes in a TABLE is just a waste of time and not neccesary.

Mark Hoffman
Wednesday, September 03, 2003

I should add that if you do in fact meet with your client's colleague, you really don't want to go in there with "I'm right. You're wrong" attitude. But rather hear him out, let him show his friend how smart he is, stroke his ego....then politely and patiently shoot holes in every one of his theories.

Mark Hoffman
Wednesday, September 03, 2003

"Present statistics that show how sparsely Netscape 3.0 is being used and do your best selling job on why making your site 3.0 compatible is not a great idea."

I think that's the wrong spin.  I'd try "offers little business value for the investment" rather than "is not a great idea".  Compliance, by itself, doesn't offer much return on the dollar (although it can be a matter of face when you show what you have bought to your more sophisticated friend running N3).

It's still appropriate to be apologetic and all; this was a business decision that you made for the customer, and embarassed him by doing so.  Explain your decision as a misunderstanding of his interests, and negotiate from there.

And next time, validate the html.  sheesh.

Danil
Wednesday, September 03, 2003

Mark is right. The second you doubt the colleague in front of his boss he'll immediately get on the defensive; and given that your listened to him in the first place, chances are you'll lose out on that argument aswell.

Keep your head low and tear him apart indirectly; agree with him and say that what he says is true, but that it's not technically justifiable normally, given that it'd display properly on 99.99% of browsers.

Mickey Petersen
Wednesday, September 03, 2003

and given that your = and given that he

Mickey Petersen
Wednesday, September 03, 2003

Danil,

I agree. I was being brief in the post, so I intended "not a great idea' to be replaced by <insert point here>.

I think your reasoning is as good as any.

Mark Hoffman
Wednesday, September 03, 2003

Moral of the story:

Specify, in your contract, what browser/OS combinations you will support.

Then, in the future:

* if the error is in a browser you don't support, it's out of scope
* if the error is in a browser you do support, fix it

Joe
http://www.joegrossberg.com

Joe Grossberg
Thursday, September 04, 2003

1) It sounds as though your client's colleague is an aspiring programmer who is trying to get work by slamming you.

2) Writing compliant HTML should *always* be subordinate to "does the site work the way you want it to, on the browsers you want it to work on"?  Compliant HTML is nice, but do you really *need* it?

3) Remove the character encoding declaration at the top of the page so it can't be fed into an validator.  (joking)

Norrick
Thursday, September 04, 2003

Before the flamewar starts, let me support this assertion: 
"2) Writing compliant HTML should *always* be subordinate to "does the site work the way you want it to, on the browsers you want it to work on"?  Compliant HTML is nice, but do you really *need* it?"

with this info:

Oracle.com - 250 errors
Microsoft.com - 174 errors
PeopleSoft.com - 173 errors
Cnn.com - 80 errors
IBM.com - 50 errors
Seagate.com - 62 errors
Intuit.com - 49 errors

Hell, even the w3.org site has 6 errors!

Now, this is not to say you shouldn't fix your client's site - you should.  But in the future, you need to define a level of effort that is based on the browsers your client is likely to support.  That way, when some knucklehead tries to slag your site by saying it's not standards compliant, you canwhip out the spec document that spells out exactly which standards you were supposed to comply with, and that's that.

I still maintain that compliance is less important than the site's effectiveness at performing the task it was designed to do - and for some projects, supporting every browser known to man may not offer any business value.

Norrick
Thursday, September 04, 2003

Norrick is my new hero.

Danil
Thursday, September 04, 2003

Damn skippy.

Norrick
Tuesday, September 09, 2003

*  Recent Topics

*  Fog Creek Home