[whatwg] A plea to Hixie to adopt <main>
silviapfeiffer1 at gmail.com
Tue Nov 27 20:28:23 PST 2012
On Wed, Nov 28, 2012 at 10:35 AM, Ian Hickson <ian at hixie.ch> wrote:
> On Wed, 28 Nov 2012, Silvia Pfeiffer wrote:
> > >
> > > But we already have this. The main content is whatever content isn't
> > > marked up as not being main content (anything not marked up with
> > > <header>, <aside>, <nav>, etc).
> > I tried to validate that claim. It's not really possible with today's
> > Web pages, since they haven't moved to making use of these elements, but
> > I made some educated guesses as to where they would be used sensibly on
> > a normal Web page. I have applied this to Google search results,
> > Facebook user pages, YouTube video pages, and Wikipedia articles as
> > examples of some of the most used content on the Web. You can see my
> > results at
> I think you're massively over-complicating what needs to be authored here.
> For example, with a Google search, just mark up everything up to the
> id="main" in a <header>, mark up the id="top_nav" as a <nav>, and mark up
> the id="foot" in a <footer>, and what's left is the main content. (Note
> that this does _not_ map to what the authors would have marked up using
> <main>, as determined by looking at what they marked up with id="main" --
> that contains the navigation.)
Agreed. But what the authors have marked up as @id=main is not relevant for
this discussion - it's not what <main> tries to achieve. We need to look at
what is marked up with @role=main and that's a completely different element.
"Google actually placed a @role=main on a different element, namely the one
that encapsulates all the search results." This is where the <main> should
be and that excludes all the columns on the right and left of the search
> I don't know what you'd mark up on youtube.com because I don't know what
> is the main content there.
The feedback that I get from blind users is: "the main content is the video
and I can't find it".
> But marking up all the children of
> id="body-container" as <header> except the id="page-container" child, and
> marking the id="guide-container" and first class="branded-page-v2-
> secondary-col" as <aside>, would make the stream in the middle be the
> first "main" content, which is probably what the page author intended.
Actually, no - see above.
> This again doesn't match what the author would likely use for <main> --
> id="content" -- which contains the second of those <aside>s currently.
No, the element with @id=content is also not the one that <main> should
contain - see above.
Wikipedia already has role=main on the appropriate element, and all the
> stuff that isn't main (except the appeal) comes after that, so they're
> fine either way, even without ARIA. Their <div>s map pretty directly to
> the elements in HTML so that the algorithm I describe above would surface
> the main content fine.
Agreed - it's the simple case.
> I believe that none of the heuristic approaches work 100% of the time.
> Sure. Nor would <main>.
When authored correctly or corrected after feedback from blind users, it
will work - and it will always work better than the heuristic approach. In
addition, there is a large enough blind community in the world to make sure
that where it doesn't work they will speak up to get it fixed. For that
reason, <main> is a hint that is always better than any heuristic approach,
in particular as accessibility tools do not support any heuristic
More information about the whatwg