Kevin said:
One of the most succinct responses to this question I've ever seen
comes from Dan Cedarholm's SimpleBits site --
http://www.simplebits.com
I think the items below include things that are not to do with standards.
(Assuming "standards" includes specifications & recommendations).
- Decreased bandwidth and server space
Why? In what way would conforming to HTML 4.01 Transitional, without CSS, do
that? Yet it is a valid standard.
If you are promoting the use of Strict plus CSS then I agree. But that is
simply a *different* standard. (My own target now is Strict + CSS, but before
I used CSS much I still validated my Transitional pages).
- Improved accessibility to all browsers and devices (including those
with disabilities)
Hm! I still have a lingering hope that this is true, but frankly I am
sceptical. Browsers appear to be very tolerant, especially where HTML is
concerned. (They are less tolerant where CSS is concerned, and of course some
don't handle all of CSS2 properly - but that would be an argument for sticking
to HTML instead of using CSS! That isn't a good path to pursue).
I would like to see evidence that compliance with standards makes web sites
more accessible, when all other factors are controlled. For example, don't
compare a web site developed by a novice with one developed by an expert! The
latter is very likely to be more accessible - but that is because experts know
how to do these things, and can do so automatically.
What aspects of compliance with standards improves accessibility? I've tried
browsing valid Strict pages using a speaking browser, to see what it is like,
and I found that the factors that made web sites most accessible (at least to
me) were simplicity and predictability. Simple linearising content, no new
windows, etc. Structural mark-up helped, because it provided an aid to jumping
around bigger pages - so I would certainly agree with that. But I was using
IBM HPR, which uses IE as its browsing engine, and that appeared to be
tolerant in this use too.
- Increased separation of presentation layer code from content
With HTML 4.01 Transitional? This is an argument for a particular standard,
not just standards in general. Also - this separation is a *means to an end*,
not an end in itself. It needs to be related to the objectives of the web
site - is it actually needed? Is it just *nice to have*?
See: "Separation of concerns":
http://www.barry.pearson.name/articles/content_presentation/
- Simplified updating of look and feel
Again - this is an argument for CSS. I think now that this is what this whole
list is really about.
- Faster page loading
Ditto.
- Lower costs
Ah! Now this needs heavy qualification!
If an organisation is highly standards-oriented, then they will save costs.
Yes! But ... getting to that state costs a lot initially. The hard part is to
find a way to convince a project manager that *now* is the time to start. Many
of them want to be the 2nd, not the 1st, to try a new approach, such as a new
standard or a standards-oriented workflow. Identify managers' concerns and
show how standards can help. Don't overload them - make it look simple with
identifiable payback. Provide examples. Show them an HTML template linked to a
simple CSS and demonstrate that this can be replicated so they hit the ground
running, or at least walking. See if they have a task in the plan for
validating the site and getting senior management to approve it, and show that
there will be less cost & risk at that stage if CSS and templates and whatever
else you think is good are used. Etc.
I would also add to that more consistent, universal browser support.
Why code for IE-only when standards-compliant code will largely work
not only in IE, but also a host of other modern browsers?
There are 2 separate issues here. They overlap, of course, but both must be
kept in mind:
1. Writing compliant stuff. But that doesn't guarantee it will work in other
browsers - you still have to test it there.
2. Testing in other browsers. But this applies whether it is compliant or not.
What you have to do here is show how the cost (and there typically will be a
cost) of training people to write such code, and then checking that they have
done so, helps the project. This can be a hard step in a
non-standards-oriented organisation. If you identify suitable tools - that may
be the answer.