2016-10-13 3 views
0

は、次のフォームを考えてみましょう:セマンティックHTML:フォームボタンを配置する場所は?

<form> 
    <h2>Form</h2> 

    <fieldset> 
     <legend>Simple list with Create/Delete</legend> 

     [...] 

     <footer> 
      <button>Add</button> 
      <button>Remove</button> 
      <button>Remove all</button> 
     </footer> 
    </fieldset> 

    <fieldset> 
     <legend>Single input</legend> 

     <input type="file" /> 

     <footer> 
      <button>Save as PDF</button> 
      <button>Save as XLS</button> 
      <button>Save as SVG</button> 
     </footer> 
    </fieldset> 

    <fieldset> 
     <legend>Dynamic wizard</legend> 

     [...] 

     <footer> 
      <button>Next</button> 
     </footer> 
    </fieldset> 

    [...] 

    <footer> 
     <button>Reset</button> 
     <button>Cancel</button> 
     <button>Save</button> 
    </footer> 
</form> 

私は<form>または<fieldset><footer>を使用しての考えと快適に感じるが、それが正しいかどうイムはわからない、それはフッター

私はで飽和ビットに見えます<footer>の代わりに<div>を使用することができますが、「意味的に不良」と感じ、<menu>は1つのボタンを使用すると厄介です。

おそらく解決策は、<form>または<fieldset>の直下に配置することです。

<form> 
    <h2>Form</h2> 

    [...] 

    <button>Reset</button> 
    <button>Cancel</button> 
    <button>Save</button> 
</form> 

¿何をお勧めしますか?

答えて

0

フォームフィールドとボタンを別々のsectionブロックに配置することができます。

<form> 
    <section class="fields"> 
     <fieldset> 
      <legend>Simple list with Create/Delete</legend> 
      ... 
     </fieldset> 
    </section> 
    <section class="fields"> 
     <fieldset> 
      <legend>Single input</legend> 
      ... 
     </fieldset> 
    </section> 
    <section class="buttons"> 
     <button type="button">Reset</button> 
     <button type="button">Cancel</button> 
     <button type="submit">Save</button> 
    </section> 
</form> 
+0

私は本当にヘッダーまたは見出しタグのないセクションを好きではない:https://www.w3.org/wiki/HTML/Elements/section:それは意味的に正しい感じていません。また、fieldsetはすでにsectioning要素ですが、セクションに入れ子にするのは何もわかりません。 – Gabriel

+0

w3.org/wiki/HTML/Elements/section: "セクション要素は一般的なコンテナ要素ではありません。セクション要素は、内容がドキュメントのアウトラインに明示的にリストされる場合にのみ適切です。"複数のフィールドセットがネストされている場合は、セクションが受け入れられるでしょう。 – Gabriel

+0

@Gabriel 'section'sは、同じテーマの要素をグループ化できる単なるコンテナです。 'section'sは通常見出しが付いていますが、それはそれが間違っているかどうかを意味するものではありません。' fieldset'sはフォームコントロールのセットを保持しています。現在のアドレス、恒久的なアドレス、ビジネスアドレスなどの異なる凡例を持ついくつかの 'fieldsets'を含む'セクション 'のアドレスを持つことができます。 – dork

関連する問題