<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>19591</bug_id>
          
          <creation_ts>2012-10-18 05:27:26 +0000</creation_ts>
          <short_desc>Making the main content element a sectioning element</short_desc>
          <delta_ts>2013-02-18 16:38:13 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>HTML WG</product>
          <component>maincontent element</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows NT</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>a11y</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ian Yang">ian.html</reporter>
          <assigned_to name="steve faulkner">faulkner.steve</assigned_to>
          <cc>faulkner.steve</cc>
    
    <cc>hans.hillen</cc>
    
    <cc>hsivonen</cc>
    
    <cc>kennyluck</cc>
    
    <cc>public-html-admin</cc>
          
          <qa_contact name="HTML WG Bugzilla archive list">public-html-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>76555</commentid>
    <comment_count>0</comment_count>
    <who name="Ian Yang">ian.html</who>
    <bug_when>2012-10-18 05:27:26 +0000</bug_when>
    <thetext>Because both being elements for content, it is inconsistent that complementary content is sectioning element and main content is not.

Another reason is about document outline. Please take a look at the markup below:

&lt;!DOCTYPE html&gt;
&lt;title&gt;blablabla&lt;/title&gt;
&lt;header&gt;
    &lt;h1&gt;Branding&lt;/h1&gt;
    &lt;nav&gt;
        &lt;h1&gt;Navigation&lt;/h1&gt;
        blablabla
    &lt;/nav&gt;
    &lt;aside&gt;
        &lt;h1&gt;Search&lt;/h1&gt;
        blablabla
    &lt;/aside&gt;
&lt;/header&gt;
&lt;main role=&quot;main&quot;&gt;
    &lt;h1&gt;Main Content&lt;/h1&gt;
    &lt;section&gt;
        &lt;h1&gt;Welcome&lt;/h1&gt;
        blablabla
    &lt;/section&gt;
    &lt;section&gt;
        &lt;h1&gt;Brief Intro&lt;/h1&gt;
        blablabla
    &lt;/section&gt;
&lt;/main&gt;
&lt;aside role=&quot;complementary&quot;&gt;
    &lt;h1&gt;Complementary Content&lt;/h1&gt;
    &lt;article&gt;
        &lt;h1&gt;Latest News&lt;/h1&gt;
        blablabla
    &lt;/article&gt;
    &lt;article&gt;
        &lt;h1&gt;Recent Comments&lt;/h1&gt;
        blablabla
    &lt;/article&gt;
&lt;/aside&gt;
&lt;footer&gt;
    blablabla
&lt;/footer&gt;


If the main content element is a sectioning element, the document outline formed by the above code will be clear and hierarchically correct:

1. Branding
        1. Navigation
        2. Search
        3. Main Content
                1. Welcome
                2. Brief Intro
        4. Complementary Content
                1. Latest News
                2. Recent Comments


But if the the main content element is not a sectioning element, the document outline will be confusing and hierarchically incorrect:

1. Branding
        1. Navigation
        2. Search
2. Main Content
        1. Welcome
        2. Brief Intro
        3. Complementary Content
                1. Latest News
                2. Recent Comments


Both main content and complementary content are content, so they are supposed to be at the same level in document outline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76558</commentid>
    <comment_count>1</comment_count>
    <who name="steve faulkner">faulkner.steve</who>
    <bug_when>2012-10-18 06:53:18 +0000</bug_when>
    <thetext>comment from henri sivonen:

If Hixie had added this element in the same batch as &lt;section&gt;,
&lt;article&gt; and &lt;aside&gt;, he would have made the parsing algorithm
similarly sensitive to this element. However, I&apos;m inclined to advise
against changes to the parsing algorithm at this stage (you have none;
I am mainly writing this for Hixie), since it would move us further
from a stable state for the parsing algorithm and, if the &lt;main&gt;
element is used in a conforming way, it won&apos;t have a &lt;p&gt; element
preceding it anyway.
http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Oct/0155.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78002</commentid>
    <comment_count>2</comment_count>
    <who name="steve faulkner">faulkner.steve</who>
    <bug_when>2012-11-07 19:07:50 +0000</bug_when>
    <thetext>from Simon P
http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Nov/0045.html

OTOH, if we wanted &lt;main&gt; to parse like &lt;aside&gt;, we&apos;d add &quot;main&quot; to:

[[
A start tag whose tag name is one of: &quot;address&quot;, &quot;article&quot;, &quot;aside&quot;,  
&quot;blockquote&quot;, &quot;center&quot;, &quot;details&quot;, &quot;dialog&quot;, &quot;dir&quot;, &quot;div&quot;, &quot;dl&quot;,  
&quot;fieldset&quot;, &quot;figcaption&quot;, &quot;figure&quot;, &quot;footer&quot;, &quot;header&quot;, &quot;hgroup&quot;, &quot;menu&quot;,  
&quot;nav&quot;, &quot;ol&quot;, &quot;p&quot;, &quot;section&quot;, &quot;summary&quot;, &quot;ul&quot;
]]

and:

[[
An end tag whose tag name is one of: &quot;address&quot;, &quot;article&quot;, &quot;aside&quot;,  
&quot;blockquote&quot;, &quot;button&quot;, &quot;center&quot;, &quot;details&quot;, &quot;dialog&quot;, &quot;dir&quot;, &quot;div&quot;, &quot;dl&quot;,  
&quot;fieldset&quot;, &quot;figcaption&quot;, &quot;figure&quot;, &quot;footer&quot;, &quot;header&quot;, &quot;hgroup&quot;,  
&quot;listing&quot;, &quot;menu&quot;, &quot;nav&quot;, &quot;ol&quot;, &quot;pre&quot;, &quot;section&quot;, &quot;summary&quot;, &quot;ul&quot;
]]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80542</commentid>
    <comment_count>3</comment_count>
    <who name="Ian Yang">ian.html</who>
    <bug_when>2012-12-23 02:29:42 +0000</bug_when>
    <thetext>Today I saw a HTML5 template called HTML5 Bones (http://html5bones.com/). In the index.html of the template, I noticed that &lt;aside role=&quot;complementary&quot; /&gt; is placed within &lt;section role=&quot;main&quot; /&gt;. I then realized that the template is right, and the example in my above mentioned proposal is wrong.

Complementary Content belongs to Main Content, so it should be placed within Main Content. If you place Complementary Content outside of Main Content, you are actually indicating that they have no association. Thank the template for reminding me of this important thing.

So please allow me to correct my above example. The ideal HTML code and document outline should be as follows:

&lt;!DOCTYPE html&gt;
&lt;title&gt;blablabla&lt;/title&gt;
&lt;header&gt;
    &lt;h1&gt;Branding&lt;/h1&gt;
    &lt;nav&gt;
        &lt;h1&gt;Navigation&lt;/h1&gt;
        blablabla
    &lt;/nav&gt;
    &lt;aside&gt;
        &lt;h1&gt;Search&lt;/h1&gt;
        blablabla
    &lt;/aside&gt;
&lt;/header&gt;
&lt;main role=&quot;main&quot;&gt;
    &lt;h1&gt;Main Content&lt;/h1&gt;
    &lt;section&gt;
        &lt;h1&gt;Welcome&lt;/h1&gt;
        blablabla
    &lt;/section&gt;
    &lt;section&gt;
        &lt;h1&gt;Brief Intro&lt;/h1&gt;
        blablabla
    &lt;/section&gt;
    &lt;aside role=&quot;complementary&quot;&gt;
        &lt;h1&gt;Complementary Content&lt;/h1&gt;
        &lt;article&gt;
            &lt;h1&gt;Latest News&lt;/h1&gt;
            blablabla
        &lt;/article&gt;
        &lt;article&gt;
            &lt;h1&gt;Recent Comments&lt;/h1&gt;
            blablabla
        &lt;/article&gt;
    &lt;/aside&gt;
&lt;/main&gt;
&lt;footer&gt;
    blablabla
&lt;/footer&gt;

1. Branding
        1. Navigation
        2. Search
        3. Main Content
                1. Welcome
                2. Brief Intro
                3. Complementary Content
                        1. Latest News
                        2. Recent Comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81520</commentid>
    <comment_count>4</comment_count>
    <who name="steve faulkner">faulkner.steve</who>
    <bug_when>2013-01-17 11:22:25 +0000</bug_when>
    <thetext>(In reply to comment #3)
&gt; Today I saw a HTML5 template called HTML5 Bones (http://html5bones.com/). In
&gt; the index.html of the template, I noticed that &lt;aside role=&quot;complementary&quot;
&gt; /&gt; is placed within &lt;section role=&quot;main&quot; /&gt;. I then realized that the
&gt; template is right, and the example in my above mentioned proposal is wrong.
&gt; 
&gt; Complementary Content belongs to Main Content, so it should be placed within
&gt; Main Content. If you place Complementary Content outside of Main Content,
&gt; you are actually indicating that they have no association. Thank the
&gt; template for reminding me of this important thing.
&gt; 
&gt; So please allow me to correct my above example. The ideal HTML code and
&gt; document outline should be as follows:
&gt; 
&gt; &lt;!DOCTYPE html&gt;
&gt; &lt;title&gt;blablabla&lt;/title&gt;
&gt; &lt;header&gt;
&gt;     &lt;h1&gt;Branding&lt;/h1&gt;
&gt;     &lt;nav&gt;
&gt;         &lt;h1&gt;Navigation&lt;/h1&gt;
&gt;         blablabla
&gt;     &lt;/nav&gt;
&gt;     &lt;aside&gt;
&gt;         &lt;h1&gt;Search&lt;/h1&gt;
&gt;         blablabla
&gt;     &lt;/aside&gt;
&gt; &lt;/header&gt;
&gt; &lt;main role=&quot;main&quot;&gt;
&gt;     &lt;h1&gt;Main Content&lt;/h1&gt;
&gt;     &lt;section&gt;
&gt;         &lt;h1&gt;Welcome&lt;/h1&gt;
&gt;         blablabla
&gt;     &lt;/section&gt;
&gt;     &lt;section&gt;
&gt;         &lt;h1&gt;Brief Intro&lt;/h1&gt;
&gt;         blablabla
&gt;     &lt;/section&gt;
&gt;     &lt;aside role=&quot;complementary&quot;&gt;
&gt;         &lt;h1&gt;Complementary Content&lt;/h1&gt;
&gt;         &lt;article&gt;
&gt;             &lt;h1&gt;Latest News&lt;/h1&gt;
&gt;             blablabla
&gt;         &lt;/article&gt;
&gt;         &lt;article&gt;
&gt;             &lt;h1&gt;Recent Comments&lt;/h1&gt;
&gt;             blablabla
&gt;         &lt;/article&gt;
&gt;     &lt;/aside&gt;
&gt; &lt;/main&gt;
&gt; &lt;footer&gt;
&gt;     blablabla
&gt; &lt;/footer&gt;
&gt; 
&gt; 1. Branding
&gt;         1. Navigation
&gt;         2. Search
&gt;         3. Main Content
&gt;                 1. Welcome
&gt;                 2. Brief Intro
&gt;                 3. Complementary Content
&gt;                         1. Latest News
&gt;                         2. Recent Comments

Hi Kevin, 

I disagree with the idea of having branding as the &lt;h1&gt;, branding is just that and usually is site wide and as such does not make a useful main heading (unless on an introductory or homepage.) while looking into it I have noticed some strangley screwy results using the outline algorithm, will look intoit more and get back to you</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83276</commentid>
    <comment_count>5</comment_count>
    <who name="steve faulkner">faulkner.steve</who>
    <bug_when>2013-02-18 16:22:13 +0000</bug_when>
    <thetext>(In reply to comment #3)
&gt; Today I saw a HTML5 template called HTML5 Bones (http://html5bones.com/). In
&gt; the index.html of the template, I noticed that &lt;aside role=&quot;complementary&quot;
&gt; /&gt; is placed within &lt;section role=&quot;main&quot; /&gt;. I then realized that the
&gt; template is right, and the example in my above mentioned proposal is wrong.
&gt; 
&gt; Complementary Content belongs to Main Content, so it should be placed within
&gt; Main Content. If you place Complementary Content outside of Main Content,
&gt; you are actually indicating that they have no association. Thank the
&gt; template for reminding me of this important thing.
&gt; 
&gt; So please allow me to correct my above example. The ideal HTML code and
&gt; document outline should be as follows:
&gt; 
&gt; &lt;!DOCTYPE html&gt;
&gt; &lt;title&gt;blablabla&lt;/title&gt;
&gt; &lt;header&gt;
&gt;     &lt;h1&gt;Branding&lt;/h1&gt;
&gt;     &lt;nav&gt;
&gt;         &lt;h1&gt;Navigation&lt;/h1&gt;
&gt;         blablabla
&gt;     &lt;/nav&gt;
&gt;     &lt;aside&gt;
&gt;         &lt;h1&gt;Search&lt;/h1&gt;
&gt;         blablabla
&gt;     &lt;/aside&gt;
&gt; &lt;/header&gt;
&gt; &lt;main role=&quot;main&quot;&gt;
&gt;     &lt;h1&gt;Main Content&lt;/h1&gt;
&gt;     &lt;section&gt;
&gt;         &lt;h1&gt;Welcome&lt;/h1&gt;
&gt;         blablabla
&gt;     &lt;/section&gt;
&gt;     &lt;section&gt;
&gt;         &lt;h1&gt;Brief Intro&lt;/h1&gt;
&gt;         blablabla
&gt;     &lt;/section&gt;
&gt;     &lt;aside role=&quot;complementary&quot;&gt;
&gt;         &lt;h1&gt;Complementary Content&lt;/h1&gt;
&gt;         &lt;article&gt;
&gt;             &lt;h1&gt;Latest News&lt;/h1&gt;
&gt;             blablabla
&gt;         &lt;/article&gt;
&gt;         &lt;article&gt;
&gt;             &lt;h1&gt;Recent Comments&lt;/h1&gt;
&gt;             blablabla
&gt;         &lt;/article&gt;
&gt;     &lt;/aside&gt;
&gt; &lt;/main&gt;
&gt; &lt;footer&gt;
&gt;     blablabla
&gt; &lt;/footer&gt;
&gt; 
&gt; 1. Branding
&gt;         1. Navigation
&gt;         2. Search
&gt;         3. Main Content
&gt;                 1. Welcome
&gt;                 2. Brief Intro
&gt;                 3. Complementary Content
&gt;                         1. Latest News
&gt;                         2. Recent Comments

EDITOR&apos;S RESPONSE: This is an Editor&apos;s Response to your comment. If you are
satisfied with this response, please change the state of this bug to CLOSED. If
you have additional information and would like the Editor to reconsider, please
reopen this bug. If you would like to escalate the issue to the full HTML
Working Group, please add the TrackerRequest keyword to this bug, and suggest
title and text for the Tracker Issue; or you may create a Tracker Issue
yourself, if you are able to do so. For more details, see this document:

   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Rejected
Change Description: no spec chnage
Rationale: &lt;main&gt; does not need to be sectioning content, we already have mulitple elements to serve the document outline + hX elements create implicit sectioning of the document. &lt;main&gt; is designed as a wrapper for sections.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83279</commentid>
    <comment_count>6</comment_count>
    <who name="Ian Yang">ian.html</who>
    <bug_when>2013-02-18 16:38:13 +0000</bug_when>
    <thetext>Yeah, Ian Hickson has responded in a recent discussion that &lt;main&gt; actually doesn&apos;t need to be a sectioning element.

Please see his respond: http://lists.w3.org/Archives/Public/public-whatwg-archive/2013Feb/0075.html

So the idea markup and document outline should be:

&lt;!DOCTYPE html&gt;
&lt;title&gt;blablabla&lt;/title&gt;
&lt;header&gt;
    &lt;h1&gt;Branding&lt;/h1&gt;
    &lt;nav&gt;
        &lt;h1&gt;Navigation&lt;/h1&gt;
        blablabla
    &lt;/nav&gt;
    &lt;section&gt;
        &lt;h1&gt;Search&lt;/h1&gt;
        blablabla
    &lt;/section&gt;
&lt;/header&gt;
&lt;main role=&quot;main&quot;&gt;
    &lt;section&gt;
        &lt;h1&gt;Welcome&lt;/h1&gt;
        blablabla
    &lt;/section&gt;
    &lt;section&gt;
        &lt;h1&gt;Brief Intro&lt;/h1&gt;
        blablabla
    &lt;/section&gt;
    &lt;aside role=&quot;complementary&quot;&gt;
        &lt;h1&gt;Complementary Content&lt;/h1&gt;
        &lt;article&gt;
            &lt;h1&gt;Latest News&lt;/h1&gt;
            blablabla
        &lt;/article&gt;
        &lt;article&gt;
            &lt;h1&gt;Recent Comments&lt;/h1&gt;
            blablabla
        &lt;/article&gt;
    &lt;/aside&gt;
&lt;/main&gt;
&lt;footer&gt;
    blablabla
&lt;/footer&gt;

1. Branding
        1. Navigation
        2. Search
        3. Welcome
        4. Brief Intro
        5. Complementary Content
                1. Latest News
                2. Recent Comments</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>