2013-07-09 10 views
16

私はHTML5とWAI-ARIAを使用して自分のHTMLのアクセシビリティを向上させています。<aside>要素を<section role = "main">要素内で使用できますか?

次の設定は問題ありませんか?

<!-- main content --> 
<section id="main" role="main"> 
    <h1>The main content</h1> 

    <!-- This div needs to be here for styling reasons --> 
    <div class="the-content">  
     <p>All the text that goes with the main content</p> 
    </div> 

    <!-- the sidebar --> 
    <aside id="sidebar" role="complementary"> 
     <h2>A title</h2> 
     <p>Some text</p> 
    <aside> 
</section> 

私は<section>の外<aside>要素とrole="main"コンテナを持っていなければならない場合、私はのわからない事があります。それは重要ですか?

+0

この質問のタイトルは誤解を招くものです。それはあなたが持っているコードが '

' – Inigo

+0

の中に '

答えて

17

はいです。置く場所は、asideタグの内容がメインsectionにどのように関係するかによって定義されます。例えば

asideのコンテンツがメインの記事に関連している場合、それはmain section内にある必要があります。しかしsidebar aside tag内のコンテンツがmainに異なっている場合、私ははい、それは<section>内部<aside>は完全に有効なマークアップで、W3C検証に合格しますmain section

http://html5doctor.com/aside-revisited/

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/aside

7

の外に置きますそれがあなたが心配していることならば。

<aside>要素を含んでいてもよい<section>要素allows flow content inside - あなただけのスタイリングの目的のためにセクションを使用している場合しかし、あなたはおそらく代わりにDIVを使用する必要がありますが。それはさておき

(しゃれが意図した)私は有効であるrole=main一部に私の疑問を持っている - according to this、唯一の役割は<section>要素で許可されている属性値を以下に示している:

デフォルトARIAのセマンティクスを:

role=region

他のARIAの役割、州および所有物を使用できますか?

alertalertdialogapplicationcontentinfodialogdocumentlogmarqueesearch、又はstatus

すべてのグローバルaria-*アトリビュートと、許可されたロールを に適用できるすべてのaria- *アトリビュート。

どちらかと言えば特にmainのロールは含まれません。

2

私はあなたがタグをドロップする場所に関してダレンと同意するでしょう。また、あなたのタグ付けはちょっと変なものです。さまざまなタグにはWAI-ARIAロールがネイティブに存在しますが、ネイティブロールは上書きできますが、なぜでしょうか?Paciello Groupのブログにあるpost about WAI-ARIAは、このことについてもっと話しています。例:

あなただけの同じことを意味し、<main>を使用し、より良い練習ができ

<section id="main" role="main"> 

を使用してのInsstead。 <aside>タグには補完的な役割がネイティブに追加されているので、私の名前はRyan、本当に私の名前ははRyanです。

+0

互換性を最大限に高めるためにHTML5要素に役割を追加するのが賢明だと聞きましたが、これは本当ですか? – shrewdbeans

+0

私はこの引数を聞いた唯一のものは '

+0

私はちょうどBruce Lawsonによって

要素についての記事を読んでいました。彼はまだ彼がnavやmainなどの要素に役割を明示的に追加していると言います。http://www.brucelawson.co.uk/2014/should-you- use-html5-header-and-footer /#comment-1869844 – crdunst

3

(すでにmainを含んeditor's draft)仕様が巣にarticleasidefooterheaderまたはnav内部main要素を許可していませんが、それはmain内のこれらの要素をネストについては何も言いません。 mainの中にarticlenav(ドキュメント内ナビゲーション)を使用する2つの例もあります。だから少なくともasideは、articleまたはsectionにネストされており(したがって、そのレベルにスコープされている)、許可する必要があります。私はまた、(WCAG Wikiのaside usage examplesのような)いくつかの補足情報を含むコンテンツの一部がページのメインコンテンツを形成するかもしれないと想像することができるので、許可しないと妥当ではないとは思わない。一方

は、( aside含め、現在すべて sectioning contentの存在の主な理由のようです、)アウトライン・アルゴリズムは、まだ as being 'at risk'をマークされているので、これらの要素の定義が変更される可能性があり、いくつかの明確化を加えてもよいです。

おそらく、HTML5仕様エディタにこの質問をする必要がありますか?

関連する問題