I hear you guys, and thanks for the response, I must say I am a little shocked. I certainly agree there’s a "place for tables" but I thought we’d all decided that place was for "tabular data", which a form is definitely NOT?
This markup will be peer reviewed and in circulation for some time! I am anxious to get it as semantic and accessible as possible. I also want to add tabindex etc down the line.
I was currently going with this markup (dynamically generated and a lot longer than this!)
<li><label for "first_name">First name<span class="Required">*</span></label><input type="text" id="first_name"/></li>
<li><label for "last_name">Last name</label><input type="text" id="last_name"/></li>
There really is no reliable way to style that and make the labels stretch without resorting to tables?