W3C home > Mailing lists > Public > whatwg@whatwg.org > November 2012

Re: [whatwg] A plea to Hixie to adopt <main>

From: Silvia Pfeiffer <silviapfeiffer1@gmail.com>
Date: Wed, 28 Nov 2012 15:28:23 +1100
Message-ID: <CAHp8n2nyrUwAPojQSPJdhcTN4B6u9eW7fBm6EhKoT5XUG0EOGA@mail.gmail.com>
To: Ian Hickson <ian@hixie.ch>
Cc: whatwg <whatwg@whatwg.org>
On Wed, Nov 28, 2012 at 10:35 AM, Ian Hickson <ian@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
> >
> http://blog.gingertech.net/2012/11/28/the-use-cases-for-a-main-element-in-html/
> .
>
> 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
results.



> 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
approaches.

Regards,
Silvia.
Received on Wednesday, 28 November 2012 04:42:05 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 30 January 2013 18:48:11 GMT