2016-05-16 16 views
1

Ich habe einen Fieldset wie folgt:Ist die Position des Legenden-Tags innerhalb des Fieldsets wichtig?

<fieldset> 
    <legend>Colour</legend> 
    <label><input type="radio" name="colour" value="blue"> Blue </label> 
    <label><input type="radio" name="colour" value="red"> Red </label> 
</fieldset> 

Hier, wenn ich die legend Tag unter allen label Tags halten, macht die HTML die fieldset genau gleiche wie zuvor.

<fieldset> 
    <label><input type="radio" name="colour" value="blue"> Blue </label> 
    <label><input type="radio" name="colour" value="red"> Red </label> 
    <legend>Colour</legend> 
</fieldset> 

Auch dies macht das gleiche.

Also Frage hier ist, ob es programmatisch korrekt ist und nach Standards, um Legendentag an jeder Stelle innerhalb fieldset zu schreiben.

+1

http://checker.html5.org – BoltClock

Antwort

2

Also Frage hier ist, ob es programmatisch korrekt ist und gemäß den Standards, um Tag an jeder Stelle innerhalb fieldset zu schreiben.

Nein, ist es nicht. Das legend Element (falls vorhanden) muss das erste Kind eines fieldset Elements sein.


Dies ist, was die HTML5 spec. sagt:

4.10.16 Das fieldset Element
[...]

Content model:

Optional kann ein legend el gefolgt von flow content.


Die HTML4.01 spec. definiert die fieldset Elemente wie folgt:

<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- form control group --> 

wo die durch Kommata getrennte Liste der Reihenfolge definiert, in welcher die untergeordneten Elemente erscheinen müssen, dh LEGEND muss erscheinen, bevor andere Flow- (Block- oder Inline-) Elemente.