Web Standards and Semantic Markup
There’s a big push today for web sites to adopt web standards and use semantic markup. This is a good idea generally, but on the web absolutes need to be tempered.
First, there really is no such thing as a web standard. There are web best practices, but the word “standard” implies that everyone agrees and has adopted the practice. While the browsers of today are become more standards compliant (which is like being a little pregnant) they still differ in how they interpret the standards.
The big two browsers are still IE, with version 6 still in heaviest use, and Mozilla Firefox. Both have different support and interpretations for things like CSS.
For the most part, you can get your web designs to look very similar in both browsers without relying on hacks. However, certain things you may want to do, like common layer based flyout menu controls, will require browser specific code to work. Browser specific code is not a standard.
The XHR (XML HTTP Request), the staple of Ajax, works differently in IE (until version 7) than all other browsers. If you have a very “bread and butter” web site without Ajax or DHTML standards are OK.
The push for semantic markup is also a good idea. To simplify: semantic markup is where your HTML only describes and contains the content you send to the browser and everything else is handled by external CSS and Javascript files. You separate content, presentation, and functionality. This is an especially good idea to support assistive technology such as screen-readers for the blind.
It is frequantly impractical, if not impossible, to have a modern web site whose HTML is purely semantic. The “DIV” tag is not a semantic element. Most modern sites use DIVs to accomplish complex layouts that can’t be done any other way. Many tags in common use are non-semantic.
The basic ideas of migrating towards standards and semantic markup are good. I wonder how much effort is spent, and how much design is compromised by those trying to apply unworkable solutions to their implementation. Implementation is where the rubber hits the road, and a 50,000 page dynamic web site is a whole world of difference from a 10 page static site.

























