I’ve always found it a little tricky to write truly valid forms, yet still keeping the layout looking anything half decent. I guess you can hack it around a bit and float div’s left and right, but it somehow always seemed a rather long-winded way to go about things. So I’ve always just used a table based layout for my forms… I started using the label tag a little while ago, which I believe adds to the accessibility of forms, but apart from that the way I code hasn’t changed much over the years… Until now…
I’ve found a great CSS based layout template for forms which claims to be both semantically correct and accessible, it also (I believe) validates to W3 standards, so here’s the page that shows you how to make accessible web forms.