Here are the basic steps to make your next website POSH:
- validate your (X)HTML – invalid markup is not very POSH at all;
- use tables only for tabular data, never for layout;
- use existing elements and attributes if they fit the semantics of what you’re creating (e.g. ul, li, dl, dt, dd) instead of generic div or span elements;
- use class and id names that are semantic, not presentational (e.g. MainNav is semantic but LeftNav implies presentation and is not so POSH);
- use as little (X)HTML as possible to markup your content.
For those who claim that this is too limiting when it comes to design I suggest you check out css Zen Garden. Very POSH, very cool. Every single design you can pick from uses the same structured XHTML page – the only thing that changes is the CSS style sheet.