2016-05-16 2 views
1

У меня есть Fieldset, как показано ниже:Означает ли положение метки легенды в пределах поля?

<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> 

Вот если я держу legend тег ниже всех label тегов, то HTML Отрисовывает fieldset точно так же, как и раньше.

<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> 

Даже это делает то же самое.

Так что вопрос в том, является ли он программно правильным и согласно стандартам для написания легендарного тега в любом месте в пределах fieldset.

+1

http://checker.html5.org – BoltClock

ответ

2

Так что вопрос в том, является ли он программно правильным и согласно стандартам для написания легендарного тега в любом месте в пределах fieldset.

Нет, это не так. Элемент legend (если имеется) должен быть быть первым ребенком элемента fieldset.


Это то, что HTML5 spec. говорит:

4.10.16 fieldset элемент
[...]

Content model:

Необязательно legend эль а затем flow content.


HTML4.01 spec. определяет fieldset элемент следующим образом:

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

, где запятой список определяет порядок, в котором должен отображаться дочерние элементы, т.е. LEGEND должен появиться перед другие элементы потока (блок или встроенные).