- From: Silvia Pfeiffer <silviapfeiffer1@gmail.com>
- Date: Wed, 28 Nov 2012 15:28:23 +1100
- 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 UTC