0

セクション要素の使用について議論している外部のスレッドがたくさんあることをすでに知っています-私はすでにそれらの多くを読みました、そしてこれまでのところ私は次の結論に達しました:

<section>要素は、個々のデータベースレコードとして保存できるコンテンツをラップするために使用する必要があります。(HTML5doctorによると)、見出しはセクション要素にある必要があります(ただし、データベースでは、見出しをコンテンツと同じ列に格納しません...))

これまでのところ、私は自分のWebサイトの構造を再編成し、 http: //gsnedders.html5.org/outliner/で分析しましたが、驚くべきことに、h1、h2、...の見出しの順序を無視していました(どこかでその特別なものを読みました)要素は見出しかそこらをリセットします..?:S)ちょっと私を怒らせます。

今では、次のような構造になっています(スタイリングの目的でいくつかのdivをスキップします):

<header>
    <section>
        h1 // title of my page --> h1
    </section>
    <section>
        <nav>...</nav>
    </section>
</header>
<div role="main"> // don't use section for your website's main content
    h2 // main content
    <section>
        h3 // main content's sub heading
    </section>
    <section>
        h4 // sub heading of main content's sub heading
            h5
            h5
    </section>
    <section>
        h3 // another main content's sub heading
    </section>
</div>
<aside>
    <section>
        h3 // about me
    </section>
</aside>

予想されるアウトラインの代わりに:

title of my page
    navigation
    main content
        main content's sub-headings, etc.
    about me

私が得た:

main content
    title of my page
    navigation
    main content's sub entries
    about me

もちろん、見出しをいくつかのセクション要素でラップしてこのカウンターをリセットすることはできますが、メインコンテンツ全体を単一のデータベースエントリとして保存することは決してありません-したがって、これはセマンティック要素の非セマンティックな使用法であり、作業全体がいくらか冗長になります。

セクション要素またはネストされた見出しのポイントを見逃しましたか?この振る舞いをどのように処理するかについての提案(理論的には素晴らしいように聞こえますが、実際には奇妙な振る舞いをしているようです...)

編集:私は「RSSアイテムである可能性のある要素に関する記事を使用する」ルールに固執することにしました。それは私にとってはるかに理にかなっており、ナビゲーションなどからメインコンテンツを分離するためにセクション要素を使用し続けました。以下に答えるように)

4

1 に答える 1

1

セクション要素

あなたのセクションの定義に同意するかどうかわかりません。HTML5仕様からそれは言う

section 要素は、一般的なドキュメントまたはアプリケーション セクションを表します。

それは言い続ける

section 要素のコンテンツをシンジケート化することが理にかなっている場合、作成者は section 要素の代わりに article 要素を使用することをお勧めします。

したがって、何かを「個別のデータベース エントリ」として保存する場合は、セクションの代わりに記事を使用する必要があると思います。section 要素については、この適切なすべきこととすべきでないことのリストも参照してください。

ドキュメントの概要

ドキュメントのアウトラインに関しては、終了タグが含まれていないため、何が起こっているのかを伝えるのは困難です. 完全で有効な HTML の例を投稿できますか?

Mozilla Developers Networkの HTML5 ドキュメントでのアウトラインの優れた概要があり、これを読むことをお勧めします。あなたの例を取り上げて、本来あるべきだと思う場所に終了タグを追加します。この記事に基づいて、HTMLを提案します

<doctype html>
<header>
    <h1>title of my page</h1>
</header>
<nav>My Nav</nav>
<article id="main-content">
    <h2>main content</h2>
    <section>
        <h3>main content's sub heading</h3>
        <section>
            <h4>sub heading of main content's sub heading</h4>
            <section>
                <h5>a sub, sub heading of main content's sub heading</h5>
            </section>
        </section>
    </section>
    <section>
        <h3>another main content's sub heading</h3>
     </section>
</article>
<aside>
    <h3>about me</h3>
</aside>

これにより、アウトラインが生成されます

  1. マイページのタイトル
    1. 無題のセクション (これはナビゲーションです)
    2. メインコンテンツ
      1. メインコンテンツの小見出し
        1. メインコンテンツの小見出しの小見出し
          1. サブ、メイン コンテンツのサブ ヘディングのサブ ヘディング
    3. 別のメイン コンテンツの小見出し
    4. 私について

これはあなたが期待したアウトラインですか?

セクションの見出し

h1h2などを使用する必要はありませんh3。HTML5 アウトラインは、記事またはセクションのネストの深さに基づいて、見出し、サブ見出しなどを解決します。意図した場合は、どこでも使用できますがh1(そうではありません)、アウトライナーは上記のアウトラインを生成します。

于 2012-05-04T10:10:01.113 に答える