I spent a couple of hours yesterday cleaning some old website's code that was handed over to me for temporary maintenance.
It is the year 2007 but people are still using nested tables to arrange their text. Imagine a three-column table, with spacer GIFs in the right and left columns and the body text inside the middle column. And that table's residing inside another table.
An external stylesheet was used, but instead of simply assigning properties to the 'body' selector to control the main font styles, a class called '.body' was created. No 'h1' or 'h2' were used - extra styles were created for headers and subheaders. No images were labelled.
I realised with some dismay that I probably have a better understanding of CSS and XHTML than most of the designers we've outsourced the work to. Not to say I'm such an expert myself - I've been out of it for a while and play around with code occasionally just to make sure I don't forget what I've learnt over the years. An entirely CSS-based template (which came with the default installation) could have been downgraded into a web of nested tables when the look was customised.
Essentially, the designer(s) went back to their comfort zone, finding safety in tables. I'll call this 'code atavism'.
Then this post came up - 70 expert ideas for better CSS coding, with links to many more resources. It's comprehensive and I learnt a few new things that will hopefully be incorporated into my coding practices in future. I might even start sending links like this for people to read...