2016-11-04 13 views
1

angular.component()またはangular.directive()を使用してカスタム要素を作成すると、sectioning contentとして扱われますか?カスタム要素は、角要素セクショニング要素で作成されますか?

つまり、内部的に単一のheaderfooterを生成するのには意味的かつ構文的に適切であるか、それを含む要素ツリーの一部としてカウントされますか?私は

angular.component('foo', { 
    template: `<header>Yay</header>` 
}) 

を持っており、生成されたHTMLが

<section> 
    <foo> 
     <header>Yay</header> 
    </foo> 
    <foo> 
     <header>Yay</header> 
    </foo> 
</section> 

あるように私はそれを使用する場合たとえば

はその後セマンティックは何ですか?これは、セクションについての2つのheader要素を含むsectionですか?または、sectionにはヘッダ要素が0個含まれていますが、それぞれfooというヘッダを持つ2つのfoo要素がありますか?

+1

あなたの質問が何であるかは不明で、HTML構造を見ずに答えるのは難しいです。 *一般的に、ディレクティブ/コンポーネントはHTMLタイプと直接の相関がありません。テンプレートには、任意の有効なHTML、Sectionsを含めることができます。要素指令を使用していて、その特定の要素(内容ではない)がSectioningであるかどうかを尋ねる場合は、指令の名前に依存します。すなわち、 'footer'という指示をして、'

'のように使用することができます..... – Claies

+1

@Claies例を追加して、それをクリアするのに役立つリンクがあれば –

+0

そのリンクでは、 "article、aside、nav、section"なので、 'foo'はそれらの一つではないようです。私は2つの 'header'要素を含むセクションであると期待します。 https://www.w3.org/TR/html5/sectionsもご覧ください。html#outlinesには、(おそらくメモリ内の)アウトラインをどのように作成すべきかに関するアルゴリズムがあります。 –

答えて

1

角度コンポーネント/ディレクティブは、sectioning例:angular.directive('article'...)、またはphrasing(例:angular.directive('a'...))、またはカスタム要素(例:foo)。

あなたの質問は角度についてのものではなく、カスタム要素や特にカテゴリに該当すると思われます。リンクした仕様を読むことから、カスタム要素が何をしているかによって異なります。それがセクション化に使用され、あなたの例のようにヘッダーがある場合、私はそれがsectioning contentと見ることができると思います。たとえば、divcontenteditable=trueなどのカスタム要素をユーザーから入力する場合は、interactive contentとして扱うことができます。

次に意味は何ですか?それはセクションに関する2つのヘッダー 要素を含むセクションですか?

あなたが意図した内容によって異なります。しかし、それはheader子要素を持っているので、私はfoosectioning contentと表示し、それはsection要素であり、ヘッダーを含む2つの他のセクションを含む要素ではないと言います。

2

テンプレートのセクション要素でラップされていないか、カスタム要素自体が正しいARIAロールを宣言していない限り、ヘッダーフッターを追加するのは間違いだと思います。最初に考えたのは、セクション要素を拡張する場合に有効と思われるWebコンポーネントのルールを表示することでした。

+0

私は理解しているのか分かりません...角度は何ですか?それを変更する方法はありますか? –

関連する問題