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 20118 - Several clarifications / suggestions for improvement
Summary: Several clarifications / suggestions for improvement
Status: RESOLVED WORKSFORME
Alias: None
Product: HTML WG
Classification: Unclassified
Component: maincontent element (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: a11y
Depends on:
Blocks:
 
Reported: 2012-11-28 11:37 UTC by Silvia Pfeiffer
Modified: 2014-05-12 09:18 UTC (History)
2 users (show)

See Also:


Attachments

Description Silvia Pfeiffer 2012-11-28 11:37:10 UTC
Here are a few suggestions for how to clarify the specification of <main>:

* Introduce a "Note" that essentially says: The <main> element can be thought of as the element that encapsulates the area on the page that you would point out to a blind user as containing the core information of the page.

* Explain the second note better: "Authors are advised to use ARIA role=main attribute on the main element until user agents implement the required role mapping." Add something like: "The <main> element provides a landmark for accessibility technology [link to ARIA landmarks], which eg. allows a blind user to gain directly access to this part of the Web page.

* The examples could be much clearer if they didn't (just) include <header>, <nav> and <footer> elements, but others, in particular after <header> and before <main>. For example an iframe with an ad.

* I think that the <nav> in the example should not be part of the <main> section, because it's a landmark that can already be directly accessed. However, I think it might make sense to include two examples that differ on this point to explain that both are valid and both are useful for a11y users because in both cases they get the a11y user closer to "where the action is".

* I think the "Guidance for User Agents and HTML specification editors" section needs to include something about which element should be chosen as the "main" landmark if there are both a <main> element and a role=main and they are different.
Comment 1 steve faulkner 2013-02-18 16:35:29 UTC
(In reply to comment #0)
> Here are a few suggestions for how to clarify the specification of <main>:
> 
> * Introduce a "Note" that essentially says: The <main> element can be
> thought of as the element that encapsulates the area on the page that you
> would point out to a blind user as containing the core information of the
> page.
> 
> * Explain the second note better: "Authors are advised to use ARIA role=main
> attribute on the main element until user agents implement the required role
> mapping." Add something like: "The <main> element provides a landmark for
> accessibility technology [link to ARIA landmarks], which eg. allows a blind
> user to gain directly access to this part of the Web page.
> 
> * The examples could be much clearer if they didn't (just) include <header>,
> <nav> and <footer> elements, but others, in particular after <header> and
> before <main>. For example an iframe with an ad.
> 
> * I think that the <nav> in the example should not be part of the <main>
> section, because it's a landmark that can already be directly accessed.
> However, I think it might make sense to include two examples that differ on
> this point to explain that both are valid and both are useful for a11y users
> because in both cases they get the a11y user closer to "where the action is".
> 
> * I think the "Guidance for User Agents and HTML specification editors"
> section needs to include something about which element should be chosen as
> the "main" landmark if there are both a <main> element and a role=main and
> they are different.

Hi Silvia, could you take a look at the current version in the spec and update any comments - thanks!
Comment 2 Silvia Pfeiffer 2014-05-12 08:38:28 UTC
(In reply to steve faulkner from comment #1)
>
> > * I think the "Guidance for User Agents and HTML specification editors"
> > section needs to include something about which element should be chosen as
> > the "main" landmark if there are both a <main> element and a role=main and
> > they are different.

I don't know where this part of the extension spec ended up.

> Hi Silvia, could you take a look at the current version in the spec and
> update any comments - thanks!

I guess you ignored most of my suggestions because they were too accessibility specific for the HTML spec. That's fair enough. I'm ok with how it looks now.
Comment 3 steve faulkner 2014-05-12 08:44:00 UTC
(In reply to Silvia Pfeiffer from comment #2)
> (In reply to steve faulkner from comment #1)
> >
> > > * I think the "Guidance for User Agents and HTML specification editors"
> > > section needs to include something about which element should be chosen as
> > > the "main" landmark if there are both a <main> element and a role=main and
> > > they are different.
> 
> I don't know where this part of the extension spec ended up.
> 
> > Hi Silvia, could you take a look at the current version in the spec and
> > update any comments - thanks!
> 
> I guess you ignored most of my suggestions because they were too
> accessibility specific for the HTML spec. That's fair enough. I'm ok with
> how it looks now.

thanks.
Comment 4 Silvia Pfeiffer 2014-05-12 08:49:47 UTC
(In reply to steve faulkner from comment #3)
> (In reply to Silvia Pfeiffer from comment #2)
> > (In reply to steve faulkner from comment #1)
> > >
> > > > * I think the "Guidance for User Agents and HTML specification editors"
> > > > section needs to include something about which element should be chosen as
> > > > the "main" landmark if there are both a <main> element and a role=main and
> > > > they are different.
> > 
> > I don't know where this part of the extension spec ended up.

I'd still like an answer to this, if you don't mind. :-)
Comment 5 steve faulkner 2014-05-12 09:18:06 UTC
(In reply to Silvia Pfeiffer from comment #4)
> (In reply to steve faulkner from comment #3)
> > (In reply to Silvia Pfeiffer from comment #2)
> > > (In reply to steve faulkner from comment #1)
> > > >
> > > > > * I think the "Guidance for User Agents and HTML specification editors"
> > > > > section needs to include something about which element should be chosen as
> > > > > the "main" landmark if there are both a <main> element and a role=main and
> > > > > they are different.
> > > 
> > > I don't know where this part of the extension spec ended up.
> 
> I'd still like an answer to this, if you don't mind. :-)

sure, sorry.
I didn't add any guidance yet for a few reasons:
1. there is no reliable way across platforms acc APIs to  differentiate between <main role=main> and <div role=main>
both are presented in the acc tree as role=main, depending on the acc API the tagname is available as an object attribute, but its exposure is API dependent.
2. I have been keeping an eye out for use of role=main/<main> in the wild, grepping data as it becomes available. Happily I have found no use of multiple <main> or role=main so far , but the number of instances of use is low, so that may change. I will continue to review data and see what patterns emerge and base any advice added to the spec on that. 

It may be we end up adding mapping requirements for main like we did for header/footer, which makes the mapping of banner/contentinfo dependent on ancestor elements.

"footer element that is not a descendant of an article or section element. - contentinfo role" 
http://www.w3.org/html/wg/drafts/html/master/dom.html#sec-strong-native-semantics