On Jun 23, 2015, at 22:57, Mark Simon <m...@manngo.net> wrote:

Presumably, the correct element is h1 for the banner heading, but this
may be at odds with the notion that h1 should describe the specific page.
The banner title would be expected to be the same for most, if not all,
pages, while the h1 might be expected to be different for each page.

While we should not pay too much heed to the whims of search engines,
there is the notion that varying the h1 in pages is good for SEO. For
this reason many site owners and developers are reluctant to use the main
h1 as a banner title.

As far as I am aware, there is no suitable HTML(5) element for a
site-wide heading. I would like to see the introduction of such an
element. Here are some suggestions:

* The purpose of the element is to provide a semantically appropriate
container for a site-wide title.
*  From a behavioural point of view, it would be similar to an h1
element. That is, a block element with mostly text.
* There would be no other special default appearance, much like a
paragraph. CSS can handle the rest.
* There should only be one such element on a page, in the body
element. It may be nested inside another suitable element, such as a
header.

On Jun 24, 2015, at 7:08, Jonathan Zuckerman <j.zucker...@gmail.com> wrote:

What would be the value of such an element? There is an aria-role for
"banner" I believe..

On Jun 24, 2015, at 5:03, Mark Simon <m...@manngo.net> wrote:

There is also an aria-role for “article” but this doesn’t invalidate
HTML5’s article element. Section 1.4 makes it clear that it is
preferable for the host language to do the job itself.

In any case, the “banner” role would be more suited to something like a
div, which is what the header element is doing. The proposed element
would be more like h1.

How about h0? That would be more in the pattern of things.


When I build a website that is to have more than one page, and I want the
"banner" to be the same across all pages,  I use the <header> element with a
javascript file embedded inside, like this:

<header id="banner">
   <script src="scripts/header.js" type="text/javascript"></script>
</header>

and the javascript file looks like this:

document.write('\
   <hgroup class="myHeader">\
       <h1>The Site Name</h1>\
       <h2>Site Tagline</h2>\
   </hgroup>\
');

This way the <h1> element is still free to use as the main body heading in the document itself.

The default aria- role for the <header> element is <header role="banner">, so you
do not need to set it.

Thank You,
Barry Smith


Reply via email to