- From: Ian Hickson <ian@hixie.ch>
- Date: Mon, 12 Oct 2009 07:18:01 +0000 (UTC)
On Thu, 8 Oct 2009, Markus Ernst wrote: > > I found this post by Ian Hickson from August 15, 2006 in the list > archive: > > > On Sat, 1 Apr 2006, Henri Sivonen wrote: > > > > > > Since the omission of <legend> does not cause any horrible effects, > > > I suggest making <legend> optional and reaffirming that if it > > > appears, it can appear only once per <fieldset> and only as the > > > first child (ignoring whitespace). > > > > I agree, and I will do this as part of HTML5, where I am defining > > content models. If you don't object, I'll leave this change out of WF2 > > for now. (If you do object, then let me know, and I'll shoehorn it in > > somehow.) > > It looks like this change has not made it into the HTML5 spec so far. Oops. Done. > 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. > 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. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Monday, 12 October 2009 00:18:01 UTC