Re: HTML 5 Accessibility Mappings

Hi Steve,

OK so the case I think this would help (at least in gecko), is if there 
was an html element that had a similar semantic to an ARIA role but had 
no similar semantic in the desktop API. I haven't looked to see if there 
are actual examples of that; nevertheless I've filed a gecko bug to keep 
this on the radar:
https://bugzilla.mozilla.org/show_bug.cgi?id=631015

I've provided a link to this thread and have cc'ed an NVDA dev.

Cheers,
David

On 02/02/11 4:12 PM, Steve Faulkner wrote:
> hi dave,
>
> the issue i see is that there is no agreed method to expose via an 
> accessibility API, the many elements in HTML that do not map onto 
> either ARIA roles or those defined by the various APIs. I think it It 
> would be good to have a mechanism by which any AT could get the role 
> info for any element via the API in a clearly defined way.
>
> Of course some elements don't need to be mapped as they are not 
> presented as part of the content, others it may be enough to expose 
> them as a text or grouping  role.
>
> regards
> Stevef
>
> On 2 February 2011 19:47, David Bolter <david.bolter@gmail.com 
> <mailto:david.bolter@gmail.com>> wrote:
>
>     Hi Rich,
>
>     Thanks. I want to hash this out for clarity and ideas.
>
>     So I think one thing (call it "A") you are proposing is that the a
>     web developer can do this:
>
>     1. <input type="checkbox" aria-posinset="5">
>
>     aria-posinset is not listed in the "Global States and Properties",
>     but the fact that this HTML element is in all other respects
>     semantically equivalent to:
>
>     2. <div role="checkbox" aria-posinset="5">
>
>     means we should allow the aria-posinset to work.
>
>     I'm fine with A (and it should already work in gecko because we
>     don't require the role attribute).
>
>     The part of the proposal (call it "B") where we expose a role
>     object attribute for 1 when there was no author supplied role
>     attribute is the part I'm unsure about. It is this part I want a
>     few AT vendor's feedback on. I'm fine with it pending positive
>     feedback :)
>
>     One advantage might be that if AT end up looking to the role
>     object attribute first (before the enumerated desktop role), then
>     we can have a greater path to extensibility*.
>
>     * Note: sort of like how gecko already naughtily exposes a BSTR
>     MSAA role for cases where there is no good enumerated role
>     mapping. This is usually the element tag name.
>
>     Cheers,
>     David
>
>
>     On 02/02/11 1:31 PM, Richard Schwerdtfeger wrote:
>>
>>     Yes, we is the browser manufacturer. We are defining the HTML to
>>     API mappings.
>>
>>     What I am saying is you have:
>>
>>     <input type="checkbox"> this has an aria semantic of checkbox.
>>     So, simply pass the role="checkbox" name value pair in the object
>>     properties to the AT
>>
>>     same for:
>>
>>     <tr> this has an aria semantic of "row". So, simply pass the
>>     role="row" name value pair in the object properties to the AT
>>
>>     However,
>>
>>     For those elements that have NO ARIA equivalent like <details>
>>     pass the role="details" name value pair. In other words you pass
>>     the tag name as the role.
>>
>>     I want to avoid requiring the author having to place roles on
>>     elements with equivalent pre-defined samantics and I want the AT
>>     not to have to inspect the role and the tag name.
>>
>>     Does that help?
>>
>>
>>
>>     Rich Schwerdtfeger
>>     CTO Accessibility Software Group
>>
>>     Inactive hide details for David Bolter ---01/28/2011 01:04:06
>>     PM---Hi Rich, Gecko's exposure of the tag as an object attribute
>>     David Bolter ---01/28/2011 01:04:06 PM---Hi Rich, Gecko's
>>     exposure of the tag as an object attribute predates ARIA so I'm
>>
>>     From: David Bolter <david.bolter@gmail.com>
>>     <mailto:david.bolter@gmail.com>
>>     To: Richard Schwerdtfeger/Austin/IBM@IBMUS
>>     Cc: Steve Faulkner <faulkner.steve@gmail.com>
>>     <mailto:faulkner.steve@gmail.com>, wai-xtech@w3.org
>>     <mailto:wai-xtech@w3.org>
>>     Date: 01/28/2011 01:04 PM
>>     Subject: Re: HTML 5 Accessibility Mappings
>>
>>     ------------------------------------------------------------------------
>>
>>
>>
>>     Hi Rich,
>>
>>     Gecko's exposure of the tag as an object attribute predates ARIA
>>     so I'm not sure can remove it. I don't understand "for all HTML
>>     elements that don't have a pre-defined ARIA semantic we simply
>>     pass the role value as the tag name".
>>     Who is "we"? (The browser?)
>>     What does passing the role value mean?
>>     Did you mean 'tag name' or 'role attribute value'?
>>
>>     Regarding the AT and author error, it is up to them whether they
>>     want to correct or not; gecko provides the info.
>>
>>     If you are proposing AT look at the IA2 role object attribute and
>>     ignore the MSAA role, and if AT agree to this, I would support
>>     making changes to gecko to use the role object attribute as more
>>     than just the raw author supplied role attribute value, in a way
>>     I think you are describing.
>>
>>     Cheers,
>>     D
>>
>>     On 28/01/11 1:42 PM, Richard Schwerdtfeger wrote:
>>
>>           David,
>>
>>           The point being that today you need an ARIA role to be able
>>           to apply aria attributes. Yet, HTML 5 defines default ARIA
>>           semantics for many of the elements removing the need for
>>           the author to define an aria role to apply the aria
>>           attributes that are applicable to that role. If the author
>>           overrides the role using role="foo" then that replaces the
>>           role. So there is no reason for the author to expose roles
>>           separately if for all HTML elements that don't have a
>>           pre-defined ARIA semantic we simply pass the role value as
>>           the tag name.
>>
>>           I don't see the value for providing the DOM element tag
>>           name and the role attribute. Perhaps I am missing
>>           something. Are you asking the AT to correct an author error?
>>
>>           What I am proposing would actually reduce the number of
>>           object attributes as you don't need to pass the tag name
>>           and the role - just the role.
>>
>>           Rich
>>
>>           Rich Schwerdtfeger
>>           CTO Accessibility Software Group
>>
>>
>>
>>           From: David Bolter _<david.bolter@gmail.com>_
>>           <mailto:david.bolter@gmail.com>
>>           To: Richard Schwerdtfeger/Austin/IBM@IBMUS
>>           Cc: Steve Faulkner _<faulkner.steve@gmail.com>_
>>           <mailto:faulkner.steve@gmail.com>, _wai-xtech@w3.org_
>>           <mailto:wai-xtech@w3.org>
>>           Date: 01/25/2011 03:12 PM
>>           Subject: Re: HTML 5 Accessibility Mappings
>>           ------------------------------------------------------------------------
>>
>>
>>
>>           Hi Rich,
>>
>>           Thanks for posting this.
>>
>>           Note gecko exposes a 'tag', 'element-name' pair already so
>>           the (corrected) #3 would imply duplicated object
>>           attributes. I think I would like to expose the role and the
>>           element name separately so that AT can decide on its own
>>           workarounds. I'm open for debate on that.
>>
>>           I'm not how "What this does for the author is it allows the
>>           author to supply ARIA states and properties to elements
>>           that do not have a role supplied but depend on the native
>>           ARIA semantics as defined by the HTML 5 specification." is
>>           strictly dependent on what we expose via the object
>>           attribute. It seems like a separate issue.
>>
>>           Note for number 4, gecko almost always overrides the
>>           element->desktop role mapping and trusts the author. We
>>           don't really validate the role attribute against the
>>           element name. Having both the role and tag object
>>           attributes allows the AT to decide what is best. I realize
>>           there are pros and cons to this design.
>>
>>           The proposal seems to be heading towards using object
>>           attributes as the new defacto API (why bother with our
>>           existing enumerated MSAA/IA2 roles) for browsers. I like
>>           the idea of having a more flexible extensible API. Overall
>>           I have had push back from devs like Jamie (NVDA) about
>>           overusing the object attributes, so I'm interested to hear
>>           his feedback on this thread.
>>
>>           Cheers,
>>           David
>>
>>           On 25/01/11 3:45 PM, Richard Schwerdtfeger wrote:
>>           Yes Steve. Thank you for the correction.
>>
>>
>>           Rich Schwerdtfeger
>>           CTO Accessibility Software Group
>>
>>           Inactive hide details for Steve Faulkner ---01/25/2011
>>           10:50:13 AM---Hi Rich, you wrote:Steve Faulkner
>>           ---01/25/2011 10:50:13 AM---Hi Rich, you wrote:
>>
>>           From: Steve Faulkner _<faulkner.steve@gmail.com>_
>>           <mailto:faulkner.steve@gmail.com>
>>           To: Richard Schwerdtfeger/Austin/IBM@IBMUS
>>           Cc: _wai-xtech@w3.org_ <mailto:wai-xtech@w3.org>,
>>           _david.bolter@gmail.com_ <mailto:david.bolter@gmail.com>
>>           Date: 01/25/2011 10:50 AM
>>           Subject: Re: HTML 5 Accessibility Mappings
>>           ------------------------------------------------------------------------
>>
>>
>>
>>           Hi Rich,
>>
>>           you wrote:
>>
>>           3. For HTML elements that have default ARIA role semantic
>>           we pass the HTML element name as the role in the name value
>>           pair passed in the object attributes sent to the AT
>>
>>           shouldn't this be?
>>
>>           "For HTML elements that have NO default ARIA role semantic..."
>>
>>           regards
>>           stevef
>>
>>           On 25 January 2011 16:40, Richard Schwerdtfeger
>>           <_schwer@us.ibm.com_ <mailto:schwer@us.ibm.com>> wrote:
>>           In HTML 5 we introduce the concept of native host language
>>           semantics in terms of ARIA roles for all HTML elements. I
>>           would like to propose the following
>>
>>           1. All HTML elements should provide a role attribute in the
>>           corresponding accessible object through the object
>>           attributes (such as in IAccessible2)
>>           2. For HTML elements that have an ARIA equivalent role that
>>           role should be passed as the role name/value pair in the
>>           object attributes unless the author overrides the default
>>           elements role in the object attribute
>>           3. For HTML elements that have default ARIA role semantic
>>           we pass the HTML element name as the role in the name value
>>           pair passed in the object attributes sent to the AT
>>           4. For HTML elements with an allowable ARIA role attribute
>>           that is provided by the author we pass that role as the
>>           role attribute in the object attributes
>>
>>           What this does for the author is it allows the author to
>>           supply ARIA states and properties to elements that do not
>>           have a role supplied but depend on the native ARIA
>>           semantics as defined by the HTML 5 specification.
>>
>>           A case in point:
>>
>>           <table tabindex="0" role="grid" aria-activedescendant="idx">
>>           <tr>
>>           <th>vegetables</th><th>fruits</th> ...
>>           </tr>
>>           <td id="idx" role="gridcell">broccoli</td><td
>>           role="gridcell>apple</td> ...
>>           </tr>
>>           </table>
>>
>>
>>           TR has a native host language ARIA semantic of "row" but no
>>           role is needed.
>>           <TH> defeaults to columnheader and so on.
>>
>>           Feedback?
>>
>>           Rich Schwerdtfeger
>>           CTO Accessibility Software Group
>>
>>
>>
>>
>>           -- 
>>           with regards
>>
>>           Steve Faulkner
>>           Technical Director - TPG_
>>
>>           __www.paciellogroup.com_ <http://www.paciellogroup.com/>|
>>           _www.HTML5accessibility.com_
>>           <http://www.html5accessibility.com/>|
>>           _www.twitter.com/stevefaulkner_
>>           <http://www.twitter.com/stevefaulkner>
>>           HTML5: Techniques for providing useful text alternatives -
>>           _dev.w3.org/html5/alt-techniques/_
>>           <http://dev.w3.org/html5/alt-techniques/>
>>           Web Accessibility Toolbar -
>>           _www.paciellogroup.com/resources/wat-ie-about.html _
>>           <http://www.paciellogroup.com/resources/wat-ie-about.html>
>>
>>
>
>
>
>
> -- 
> with regards
>
> Steve Faulkner
> Technical Director - TPG
>
> www.paciellogroup.com <http://www.paciellogroup.com> | 
> www.HTML5accessibility.com <http://www.HTML5accessibility.com> | 
> www.twitter.com/stevefaulkner <http://www.twitter.com/stevefaulkner>
> HTML5: Techniques for providing useful text alternatives - 
> dev.w3.org/html5/alt-techniques/ <http://dev.w3.org/html5/alt-techniques/>
> Web Accessibility Toolbar - 
> www.paciellogroup.com/resources/wat-ie-about.html
> <http://www.paciellogroup.com/resources/wat-ie-about.html>

Received on Wednesday, 2 February 2011 21:54:51 UTC