Half a Loaf is Better Than None
I just tried validating some of the web's most popular sites.
I gave up after I'd checked 25 sites, none of them passing.
In most cases, the errors were clearly fixable; they were usually due
to simple omissions such as not putting double quotes around attribute
values when needed, or not using ALT attributes (they're not
ALT tags, as one often hears them called) in IMG tags.
This suggests that their authors are unaware of the standards,
or don't care, or deliberately ignore them
(perhaps thinking their creativity will be too restricted);
I suspect the former is more likely.
Oftentimes when I point out an HTML error and a remedy, the response is
"Ah - I didn't know that!"
Suppose that a web page author fixes up the 'easy' errors on a page,
but some are left that seem harder or impossible to fix.
Should they expend the further effort to bring the page into
conformity, or move on ?
My observation (and personal experience) is that most of us need or want
to get on with other things - perhaps the boss or a client is waiting
for results, and reading up on the specs and hacking some more just
for some intangible goal of perfection - that nobody can see -
probably seems too much of a nit-picking nerdy thing to do...
The massive influx of non-techies onto the web has generated a big
culture-clash, as can be easily witnessed by visiting some of the
HTML newsgroups such as
ciwah.
Typically someone posts a URL, either asking for help or offering
an HTML tutorial - and someone else runs it through a validator and
harangues the author for not writing 'correct HTML'. This often leads
to flame wars that generate a lot of heat, and people insult each other
in ways they would be very unlikley to do face-to-face.
The level of intolerance and obnoxious behaviour is sad to see.
The 'purists' and the 'pragmatists' just don't see eye-to-eye.
My personal philosophy is "something is better than nothing"
(it's a Zen kind of thing, really :), that the web would be a little
better if everyone would make some effort to check their code,
and if the 'purists' would attempt to be more tolerant, constructive,
and human in their efforts to educate those whose HTML isn't 100%
perfectly correct.
Every professional web author should produce a non-trivial standards
compliant page at least just once, so that you have been exposed
at least somewhat to the issues, and don't just don't know..
I fear that much of the malformed HTML on the web right now is that way
simply because the author didn't know better, and how easy it can
be to be more conformant.
Sometimes the effort can be frustrating; the validators' error messages
aren't always clear (occasionally they are even misleading);
sometimes the complaint doesn't seem reasonable - and you have to look
a little more carefully at what you're trying to do in case it
isn't reasonable..
For example, some years ago, I used to make some pages in all bold text
by putting <b> at the top (inside BODY) and </b> at the end.
This usually won't validate (when there are multiple blocks,
e.g. paragraphs). It was pointed out to me by the
editor
of the HTML
2.0 specification, so I asked him, why is it not permitted?
He didn't know. Eventually I got the answer from an SGML expert -
essentially,
that formatting attributes pertain to nodes (such as block elements) in
the document hierarchy, and in the SGML model can't be applied to
neighbouring nodes simultaneously (my possibly garbled interpretation of
an email I received some years ago now).
In any case, bolding a whole page at once isn't particularly useful
and should only be done to small segments of text.
Well - the browsers we all know and love (go on, send Bill a Valentine)
do tolerate a lot.
But you have no guarantee that they always will, or that those
other obscure browsers that some cantankerous people insist on using,
do now or always will. Or that text-to-speech readers will be happy
about it. The point of a standard isn't necessarily that it's perfect,
but that people stick to it.
Why Validate Your HTML ?
HTML Checkers
Document Type Definition
|