HTML - not so simple
Note: This is a repost of something I first published in December 2003. Since this site gets a lot more traffic now than it did back then, I’m hoping that more people will participate in the discussion this time around.
A while back, Patrick Griffiths at HTML Dog wrote about the need to take HTML seriously. I agree with what he is saying. It seems like many people who wouldn’t recognize an HTML document if they opened it in a text editor still think HTML is “easy”. Well, it can be. It can also be quite difficult and complex. Like so many other things, HTML is easy to learn but difficult to master.
There is a need to make those who do not work with web development and design understand that coding HTML or building websites is not something anybody can do well without spending plenty of time learning how to do it.
Actually, the majority of those who do work in the web business need to understand this as well. It’s amazing how rare it is to come across a web designer or web developer that really knows and understands how to use HTML and CSS properly. On the other hand, it’s very common to meet people who refuse to unlearn the bad coding habits from last century
because this new web standards thing is too difficult and the old way still works. These people haven’t made a decision to ignore semantics and keep coding presentational HTML; they don’t know or care about semantics or structure, so they have no clue that good HTML is based on just that.
So who or what is to blame for this? I believe WYSIWYG HTML editor applications like Frontpage, Dreamweaver and Golive are one culprit. The tendency of clients, managers and graphic designers to focus only on the visible part of the web is another. What you see is what you get. Or so some want to believe.
It’s very hard for many to accept that you really need to know what you’re doing to build a good website. I find that a bit strange. After all, most people accept that you need a driver’s license before you’re allowed to drive a car, or that becoming a world class athlete requires talent and countless hours of practice and training.
So, what can we do to make people realize that it takes skill, experience, and a bit of talent to create good looking, usable, standards-compliant and accessible websites? Can anything be done? I’ve been thinking a bit about this, and I’ve come up with some ideas, all based on the fact that not everybody is up to par on web standards, semantic markup and accessibility:
- Explain to clients/managers/co-workers that if a document is marked up with valid, semantic HTML and styled with CSS, separating content and presentation, everybody wins. Talk about the benefits of increased download and rendering speed, accessibility gains, improved search engine rankings, easier maintenance, and better portability. Then mention accessibility and search engine rankings again, since those are two things that I’ve seen make people listen a bit more carefully. And then explain that the HTML created by somebody using a WYSIWYG editor is unlikely to be either valid, semantic or accessible. Unless, of course, the person using the WYSIWYG editor knows their HTML very well.
- Make sure to get the message through that following web standards does not mean locking out users of older or less capable browsers. That’s the old way of doing it. With valid, semantic HTML, the content will be accessible to all browsers, but ancient browsers or browsers with little or no CSS support will get an unstyled, or very basically styled, document.
- If you’re working in a team with people who are less HTML savvy than you are, do your best to increase the overall quality of the code produced by the team. Explain to everybody in the team, including managers and others who do not work hands on with the code, why it’s important. Try to show the way, and don’t avoid certain types of markup because other team members could perceive it as “hard”. Use what should be used. If somebody finds semantic HTML difficult to understand, well, they need to learn. And you could be the one to help them learn.
Just a few ideas on how to get started. What do you think? Is this the right way to go? Do you have other, better ideas?