I just forked http://github.com/dcneiner and made it such that the markup is like this:
<label for="username">
<span>Username</span>
<input type="text" name="username" value="" />
</label>
Instead of this:
<p>
<label for="username">Username</label>
<input type="text" name="username" value="" />
</p>
But why?!? You ask. Well, this is more standards-based, and is in fact what mobile me use in their login page.
Check it out
You can take a look at the source here