Io la cosa che dici (se ho capito bene) la realizzerei cosi: codice:
<fieldset>
<legend>Nome:</legend>
... qui puo` esserci qualsiasi cosa ...
</fieldset>
Dove la sottodivisione di un form e` realizzata con <fieldset> (al posto del <div> ) e il suo titolo e` creato con il <legend>. Con i CSS poi puoi definire come visualizzare il filedset (di default credo che sia un bordo di 1 px tutt'attorno)
Al momento la struttura usata comprende già fieldset:
codice:
<fieldset class="FormGroupContainer">
<div class="FormFieldRow">
<div class="FormFieldLabelContainer">
<label class="FormFieldLabel"> Name label:</label>
<label class="FormFieldDescription">The name of the command </label>
</div>
<div class="FormFieldControl">
<input type="text"></input>
<button>Click</button>
</div>
</div>
<div class="FormFieldRow">
<div class="FormFieldLabelContainer">
<label class="FormFieldLabel">Change user name:</label>
<label class="FormFieldDescription">Change the username</label>
</div>
<div class="FormFieldControl">
/*ASP.NET control eventualmente */
</div>
</div>
L'output (vedere allegato) rispecchia i requisiti (è l'output attuale). Mi avvalgo della classe "FormFieldLabel" per intervenire sulla label del titolo e "FormFieldLabelContainer" per mantenere titolo e descrizione allineate e distanziate allo stesso modo dal div "FormFieldControl".
Il capo ai fini del "Full Compliant" vuole inserire il "for" per ogni label o, se possibile, una struttura del tipo (in modo da non dover usare il for):
codice:
<label>
<INPUT ...>
</label>
Potrei eventualmente modificare in mio codice in:
codice:
<div class="FormFieldRow">
<label class="FormFieldLabel"> Name label:
<label class="FormFieldDescription">The name of command</label>
<div class="FormFieldControl">
[img]cms.gif[/img]
<input type="text"></input>
<button>Click</button>
</div>
</label>
</div>
Dove con .FormFieldRow label {} posso intervenire su descrizione e titolo (anche se un po' meno facilmente).
In questo caso il browser a quale elemento assocerebbe i label?
Grazie di nuovo