- From: Markus Ernst <derernst@gmx.ch>
- Date: Mon, 12 Oct 2009 12:59:09 +0200
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? 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> 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> >> Background: When writing template based applications, it can be useful >> to provide a placeholder for the whole fieldset, and another one for the >> legend, as template authors might want to place or style them >> individually. >> >> Example - a questionnaire: >> >> Template Variable {question} outputs: >> <legend for="question1">What ist your favorite Pet?</legend> >> >> Template Variable {answers} outputs: >> <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> >> >> One author might want to use this template: >> <h2>{question}</h2> >> {answers} >> >> The other one prefers: >> <table> >> <tr> >> <td>{question}</td> >> <td>{answers}</td> >> </tr> >> </td> >> >> While the desired results can be easily achieved with the current legend >> specification when coding manually, it is quite hard to implement with a >> template system, needing separate template variables for both the >> fieldset start and end tags, and a loop for the questions. With the >> focus of making an application as easy to use as possible (which >> includes template authoring), application authors might rather go >> without fieldset and legend, and accept the loss of structural >> consistency and accessibility as a trade-off. >> >> I am sure this change would not break legacy content in new browsers; >> anyway I have no Idea how far it would break HTML5 content in legacy >> browsers. > > 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.
Received on Monday, 12 October 2009 03:59:09 UTC