DioBrando
22-12-2010, 09:38
Buondì.
Sto ridefinendo il template delle view dell'applicazione prossima ad andare in produzione e mi trovo davanti ad un dilemma.
A quanto mi ricordi dagli studi universitari e cercando anche sul web, il form accessibile nella classica accoppiata XHTML+CSS prevede l'uso delle liste, dei fieldset e legend per favorire la fruizione anche da lettori di schermo&co. (e quindi non inficiare chi è affetto da disabilità varie).
Si tratta di una form da 2, 3 massimo "colonne".
In MVC, empiricamente, non siamo riusciti a dare la classe per lo stile direttamente alla LabelFor.
L'unico modo è stato inserirla all'interno di uno span.
Codice:
<fieldset class="formfieldset">
<ol>
<li>
<span class="editor-label">
<%= Html.LabelFor(c => c.Model.ComuneNascita) %>
</span>
La textbox corrispondente invece lo contempla:
<%= Html.EditorFor(c => c.Model.ComuneNascita, new { @readonly = true, @class = "editor-field" })%>
<%= Html.ValidationMessageFor(c => c.Model.ComuneNascita) %>
</li>
Il problema è che il posizionamento risulta scazzato (per usare un termine tecnico)
http://img84.imageshack.us/img84/4695/form2.jpg (http://img84.imageshack.us/i/form2.jpg/)
Come diavolo lo incolonno correttamente (da CSS logicamente).
Senza posizionamenti assoluti perché non voglio vincolarmi alla risoluzione del browser.
Ci sarebbero due soluzioni alternative:
1) 2 div, uno per la label, uno per la textbox (ma dentro una lista non è il massimo)
2) la classica tabella tr/td che vorrei davvero evitare
Suggerimenti?
Sto ridefinendo il template delle view dell'applicazione prossima ad andare in produzione e mi trovo davanti ad un dilemma.
A quanto mi ricordi dagli studi universitari e cercando anche sul web, il form accessibile nella classica accoppiata XHTML+CSS prevede l'uso delle liste, dei fieldset e legend per favorire la fruizione anche da lettori di schermo&co. (e quindi non inficiare chi è affetto da disabilità varie).
Si tratta di una form da 2, 3 massimo "colonne".
In MVC, empiricamente, non siamo riusciti a dare la classe per lo stile direttamente alla LabelFor.
L'unico modo è stato inserirla all'interno di uno span.
Codice:
<fieldset class="formfieldset">
<ol>
<li>
<span class="editor-label">
<%= Html.LabelFor(c => c.Model.ComuneNascita) %>
</span>
La textbox corrispondente invece lo contempla:
<%= Html.EditorFor(c => c.Model.ComuneNascita, new { @readonly = true, @class = "editor-field" })%>
<%= Html.ValidationMessageFor(c => c.Model.ComuneNascita) %>
</li>
Il problema è che il posizionamento risulta scazzato (per usare un termine tecnico)
http://img84.imageshack.us/img84/4695/form2.jpg (http://img84.imageshack.us/i/form2.jpg/)
Come diavolo lo incolonno correttamente (da CSS logicamente).
Senza posizionamenti assoluti perché non voglio vincolarmi alla risoluzione del browser.
Ci sarebbero due soluzioni alternative:
1) 2 div, uno per la label, uno per la textbox (ma dentro una lista non è il massimo)
2) la classica tabella tr/td che vorrei davvero evitare
Suggerimenti?