This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 27092 - The header element semantic scope is controversial
Summary: The header element semantic scope is controversial
Status: RESOLVED INVALID
Alias: None
Product: HTML WG
Classification: Unclassified
Component: HTML5 spec (show other bugs)
Version: unspecified
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: steve faulkner
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-17 18:06 UTC by Klim Lee
Modified: 2014-10-17 20:26 UTC (History)
5 users (show)

See Also:


Attachments

Description Klim Lee 2014-10-17 18:06:13 UTC
The spec states in 4.3.7:

"The header element represents introductory content for its nearest ancestor sectioning content or sectioning root element."

"When the nearest ancestor sectioning content or sectioning root element is the body element, then it applies to the whole page."

At the same time, header’s default ARIA role is “banner”, which is very different from “introductory content for nearest sectioning content”, and is “mostly site-specific, rather than page-specific content”. In fact, that means ATs should treat such headers as rather irrelevant to “nearest ancestor sectioning content”.
Comment 1 steve faulkner 2014-10-17 18:40:34 UTC
(In reply to Klim Lee from comment #0)
> The spec states in 4.3.7:
> 
> "The header element represents introductory content for its nearest ancestor
> sectioning content or sectioning root element."
> 
> "When the nearest ancestor sectioning content or sectioning root element is
> the body element, then it applies to the whole page."
> 
> At the same time, header’s default ARIA role is “banner”, which is very
> different from “introductory content for nearest sectioning content”, and is
> “mostly site-specific, rather than page-specific content”. In fact, that
> means ATs should treat such headers as rather irrelevant to “nearest
> ancestor sectioning content”.

The header element only has a default role=banner when the header element  is not a descendant of an article or section element, as per the HTML mapping http://www.w3.org/html/wg/drafts/html/CR/dom.html#sec-strong-native-semantics and as implemented in browsers: http://stevefaulkner.github.io/html-mapping-tests/ except IE which has not implemented the semantics yet.
Comment 2 Klim Lee 2014-10-17 20:26:18 UTC
(In reply to steve faulkner from comment #1)
> (In reply to Klim Lee from comment #0)
> > The spec states in 4.3.7:
> > 
> > "The header element represents introductory content for its nearest ancestor
> > sectioning content or sectioning root element."
> > 
> > "When the nearest ancestor sectioning content or sectioning root element is
> > the body element, then it applies to the whole page."
> > 
> > At the same time, header’s default ARIA role is “banner”, which is very
> > different from “introductory content for nearest sectioning content”, and is
> > “mostly site-specific, rather than page-specific content”. In fact, that
> > means ATs should treat such headers as rather irrelevant to “nearest
> > ancestor sectioning content”.
> 
> The header element only has a default role=banner when the header element 
> is not a descendant of an article or section element, as per the HTML
> mapping
> http://www.w3.org/html/wg/drafts/html/CR/dom.html#sec-strong-native-
> semantics and as implemented in browsers:
> http://stevefaulkner.github.io/html-mapping-tests/ except IE which has not
> implemented the semantics yet.

Thanks, Steve.

That’s a little confusing, given that header and footer are the only elements whose semantics varies so drastically depending solely on their position.

What complicated the matter further is my own implementation tests: some browsers will stop announcing “banner” when header’s content is other than phrasing, regardless of its position. Which, obviously, lead me to believe that implementations are not trustworthy at all.

Thanks again for clarification.