Re: ACTION-1561 Updated in response to your email

The Accessibility API mapping team has been wrestling with cross platform
challenges around how to expose generic containers that have no semantic
meaning but which retain structure in the mapping of accessible content.

Here are the issues:

1. <div> are not mapped with consistent mappings across all platforms.
Some platforms map a div to a group (Safari and IE) while others map it to
a ROLE_SECTION on ATK/ATSPI, MSAA/IA2.

2. MacOSX maps <div> and to axGroup while role="group" which has real
semantic meaning that the items mapped in the group have a real association
associated with each other such as a group of associated text boxes. A div
on its own has no semantic meaning other that to act as a generic container
of stuff.

3. When applying role to presentation we have different role mappings based
on the original structure of the content in HTML. For example, Firefox maps
table cells to roles of "textbox" where list items get converted to
paragraphs. ATK/ATSPI maps these to a ROLE_PANEL role where MacOSX maps
these to
axGroup

Joanie has filed a bug asking that FF map these non-semantic sections to
role section
on MSAA/IA2 and ATK/ATSPI
https://bugzilla.mozilla.org/show_bug.cgi?id=1113153

4. HTML5 introduces a <section> element which maps to a region role yet
unless it actually has a label associated with it it really has not
semantic value. It really *should* be treated like a <div> when there is no
label.

Detailed proposal below.


5. SVG is now using role group for containers having alternative text.
Should these be sections or real groupings? This is a a concern. Again I
believe wer are oveloading group semantics.

What we need is a consistent implementation that does not confuse a generic
section in the document with a semantic grouping and would fit well with
section in HTML5.

See: https://svgwg.org/svg2-draft/struct.html#implicit-aria-semantics

One proposal:

1. Map <div> to a role of section on all platforms or a single generic role
on all platforms that says this is just an container and nothing more
2. When applying role="presentation" map the semantic HTML structural
alements to the role determined in 1
3. In HTML5 map <section> to the generic role in 1. and map it to region
when a label is applied to it.
4. Regarding 1. for a Mac either make the generic container a new section
role and leave axGroup for role="group" or make role="group" map to
something different than axGroup and leave axGroup generic.






Rich Schwerdtfeger

Joseph Scheuhammer <clown@alum.mit.edu> wrote on 01/19/2015 11:11:08 AM:

> From: Joseph Scheuhammer <clown@alum.mit.edu>
> To: Richard Schwerdtfeger/Austin/IBM@IBMUS, W3C WAI Protocols &
> Formats <public-pfwg@w3.org>
> Date: 01/19/2015 11:11 AM
> Subject: Re: ACTION-1561
>
> Hi Rich,
>
> Comments inline.
>
> > The Accessibility API mapping team has been wrestling with cross
> > platform challenges around how to expose generic containers that have
> > no semantic meaning but which retain structure in the mapping of
> > accessible content.
> >
> > Here are the issues:
> >
> > 1. <div> are not mapped with consistent mappings across all platforms.
> > Some platforms map a div to a group (Safari and IE) while others map
> > it to a panel (ATK-ATSPI) and others map it to a section (FF, Chrome).
> >
>
> The proper mapping for ATK/AT-SPI of <div> is ROLE_SECTION. The group
> role is mapped to ROLE_PANEL.  Which "others" are mapping <div> to a
> panel with respect to ATK/AT-SPI?
>
> See also the html-aam:
> http://rawgit.com/w3c/aria/master/html-aam/html-aam.html#el-div
>

Joanie appeared to indicate that these were mapped to panels at the last
meeting. I will adjust this.


> >
> > 2. MacOSX maps <div> and to axGroup while role="group" which has real
> > semantic meaning that the items mapped in the group have a real
> > association associated with each other such as a group of associated
> > text boxes. A div on its own has no semantic meaning other that to act
> > as a generic container of stuff.
> >
> > 3. When applying role to presentation we have different role mappings
> > based on the original structure of the content in HTML. For example,
> > Firefox maps table cells to roles of "textbox" where list items get
> > converted to paragraphs. ATK/ATSPI maps these to a PANEL role where
> > MacOSX maps these to axGroup
> >
>
> For reference, here is the FF bugzilla, where Joanie requested that FF
> treat presentation list items and cells as if they were <div>s.  That
> is, mapped to ROLE_SECTION:
> https://bugzilla.mozilla.org/show_bug.cgi?id=1113153
>
ok. we still have inconsistencies across platforms. I will update.


> >
> > 4. HTML5 introduces a <section> element which maps to a region role
> > yet unless it actually has a label associated with it it really has
> > not semantic value. It really should be treated like a <div>
> >
>
> I don't believe the HTML5 spec for <section> requires a label; the
> terminology is " Each section should be identified, typically by
> including a heading".
>
http://www.w3.org/html/wg/drafts/html/master/sections.html#the-section-element

> .
>
> So, without a heading or other label, a <section> is mapped as if it was
> a <div>?  Okay.
>
yeah.

> > 5. SVG is now using role group for containers having alternative text.
> > Should these be sections or real groupings? This is a a concern. Again
> > I believe wer are oveloading group semantics.
> >
>
> It depends on the contents of the group.  If the children are a "... set
> of user interface objects ...", then it satisfies the definition of
> role="group".  If it's a just a container, then it's either a
> role="region" or something even more generic.  Are there any SVG
examples?
>



> >
> > What we need is a consistent implementation that does not confuse a
> > generic section in the document with a semantic grouping and would fit
> > well with section in HTML5.
> >
> > One proposal:
> >
> > 1. Map <div> to a role of section on all platforms or a single generic
> > role on all platforms that says this is just an container and nothing
more
> >
>
> What happens if the <div> has a label?  For example:  <div
> aria-label="My Cool Block of Stuff"> ... </div>?
>
> > 2. When applying role="presentation" map the semantic HTML structural
> > alements to the role determined in 1
> > 3. In HTML5 map <section> to the generic role in 1. and map it to
> > region when a label is applied to it.
> > 4. Regarding 1. for a Mac either make the generic container a new
> > section role and leave axGroup for role="group" or make role="group"
> > map to something different than axGroup and leave axGroup generic.
> >
> >
> > Rich Schwerdtfeger
> >
>
> --
> ;;;;joseph.
>
> 'Array(16).join("wat" - 1) + " Batman!"'
>             - G. Bernhardt -
>
>

Received on Monday, 19 January 2015 19:03:32 UTC