As long as I've been doing stuff on the web I've heard the constant refrain about semantic markup. Here and then here are just two of the latest. So I thought I'd add my own thoughts to the mix. What often gets lost in these discussions is the difference between semantic markup and the display of your markup. The fellow over at Six27 makes the point that using CSS obviates any need for semantic markup as it pertains to the browser's display. He seems to think this is what makes semantic markup meaningless. However that is exactly the point of semantic markup. You can structure the data on the page any way you wish and have the presentation however you want it. This actually makes semantic markup easier. Semantic markup is not there to help you display the data. It is only there to make more information available to those who want to use it. He also makes a point that lack of universal browser support makes semantic markup useless. That would be true, if universal support was necessary to make markup useful. In point of fact, universal support is not necessary. What is necessary is a standard. You don't really care if every client supports the standard. What you do care about is if there is a standard that allows the people who wish to to take advantage of your semantic markup do so. In the end what is necessary is just support of the standard by your intended audience. The semantic markup paradigm isn't dead it's just being used under the surface by those who have a use for it. And thanks to CSS everyone else is free to ignore it if they so choose.