Das kann man ja dann auch wieder anders lösen, beispielsweise Sinnvoll mit fieldset gruppieren, siehe diese ohne CSS, wobei ich da auch noch einige verbesserungen vornehmen könnte, tue ich jetzt aber nicht :)
natürlich - aber worauf ich hinaus will: semantisch besteht zwischen span und div quasi kein unterschied - es sind beides generische container, das eine ein block-element, das andere ein inline-element