- From: Markus Ernst <derernst@gmx.ch>
- Date: Mon, 12 Oct 2009 15:48:42 +0200
Ian Hickson schrieb: > On Mon, 12 Oct 2009, Markus Ernst wrote: >> Ian Hickson schrieb: >>>> Additionnally I want to suggest to make it possible to place the >>>> legend element outside the fieldset element, providing a "for" >>>> attribute (just as it is possible to place the label element apart >>>> from it's form field element). >>> This is significantly harder to pull off, for the same reason that we >>> haven't been able to use <legend> for <figure>. I recommend we wait >>> for the next version of HTML before doing this. >> Would it be possible and easy to allow <label> for fieldsets? > > I don't understand the use case. I am sorry I seem to have missed to make the use case really transparent. My use case is a template system with separate placeholders for labels and input fields, where input fields can be fieldsets in some cases, e.g.: Relevant part of the template: <!-- BEGIN form-fields-loop --> <tr> <td><h2>{label}</h2></td> <td>{input-html}</td> </tr> <!-- END form-fields-loop --> Placeholder outputs of first row: {label}: <label for="q1">What is your name?</label> {input-html}: <input id="q1" type="text" name="Name"> Placeholder outputs of 2nd row: {label}: <label for="q2">What is favourite pet?</label> {input-html}: <fieldset id="q2"> <p><label><input type="radio" name="Pet" value="Cat">Cat</label></p> <p><label><input type="radio" name="Pet" value="Dog">Dog</label></p> <p><label><input type="radio" name="Pet" value="Ant">Ant</label></p> </fieldset> Placeholder outputs of 3rd row: {label}: <label for="q3">When are you born?</label> {input-html}: <fieldset id="q3"> <label>Month: <select name="Month"> <option value="01">January</option> ... </select> </label> <label>Year: <input type="text" name="Year" size="4"></label> </fieldset> Rows 2 and 3 illustrate the use case. For my original suggestion replace <label> with <legend> in those rows. >> This looks somehow consistent to me: >> >> <h2><label for="question1">Favorite pet?</label><h2> >> <fieldset id="question1"> >> <p><label><input type="radio" name="q1" value="Cat">Cat</label></p> >> <p><label><input type="radio" name="q1" value="Dog">Dog</label></p> >> <p><label><input type="radio" name="q1" value="Ant">Ant</label></p> >> </fieldset> > > Why is this preferable to: > > <fieldset> > <legend>Favorite pet?</legend> > <p><label><input type="radio" name="q1" value="Cat">Cat</label></p> > <p><label><input type="radio" name="q1" value="Dog">Dog</label></p> > <p><label><input type="radio" name="q1" value="Ant">Ant</label></p> > </fieldset> It is in a case where you want to output the label/legend separate from the fieldset HTML, as in the above example. >> or: >> >> <label> >> <h2>Favorite pet?<h2> >> <fieldset> >> <p><label><input type="radio" name="q1" value="Cat">Cat</label></p> >> <p><label><input type="radio" name="q1" value="Dog">Dog</label></p> >> <p><label><input type="radio" name="q1" value="Ant">Ant</label></p> >> </fieldset> >> </label> > > Why is this preferable to the above? This is not preferable, I just mentioned this as it is the other way <label> can be applied. >>> I don't understand why the <fieldset> and <legend> can't be in the >>> template. >> That is how I do it now. The downside of it is the fact that some >> themplate authors might forget it - a relevant number of web designers >> in fact don't even know about fieldsets, as forms usually "work" with or >> without them. Anyway it is not a big problem; it would just be a nice >> enhancement of consistency if the template engine were able to output >> *all* form structuring elements. > > I don't understand the problem, but if it's not a big problem, then I > would suggest we punt on it until the next version. I know the HTML5 spec is quite advanced already. Having <label> for <fieldset> (or <legend> outside it) would make things easier in some special cases, and maybe also promote the use of fieldsets. If this is a non-trivial change or even possibly introduces new problems, of course it might be better to schedule it for later versions.
Received on Monday, 12 October 2009 06:48:42 UTC