RE: ACTION-2092 - Proposal ready for review - Create a proposal for handling the role description value of ""

Hi Matt,

I’d like to ask (using concrete examples) how the actual Core Accessibility Mapping<http://w3c.github.io/aria/core-aam/core-aam.html> of aria-roledescription<http://w3c.github.io/aria/aria/aria.html#aria-roledescription> will influence the “native” role detection.

Characteristics:

Characteristic

Value

Used in Roles:

All elements of the base markup

Value:

string<http://w3c.github.io/aria/aria/aria.html#valuetype_string>



ARIA 1.1] aria-roledescription<http://w3c.github.io/aria/aria/aria.html#aria-roledescription>

MSAA + IAccessible2

Expose the description string in IAccessible2 localizedExtendedRole property.

UIA

Localized Control Type is <value>.

ATK/AT-SPI

Expose the description string in object attribute roledescription:<value>.

AXAPI

AXRoleDescription: '<value>'.



With other words, what will be the expected speech output on element focus (including role, value, label and other) according to the current CAM when testing the code below on all platforms above?

For instance, in UIA, I expect role identification override issues when the mapping remains as  currently. Also, I am not sure if every role/ roledescription combination has already been pre-evaluated for potential conflicts. IMHO, it is also important to separate clearly between what can be done in the UA Mapping and what are the “additional” expectations  that AT has to fulfil. The latter should not remain lugubrious.

1)  <button aria-roledescription=”emphasized”>Save</button>
2)  <button aria-roledescription=””>Save</button>
3)  <button aria-roledescription=” ”>Save</button>
4)  <button aria-roledescription=”link”>Save</button>

5)  <label for=”i1”>Amount</label><input id=”i1” aria-roledescription=”extended” value=”20”/>
6)  <a href=”(http ref) aria-roledescription=”button”>More Info</a>
7)  <span role=”alert” aria-roledescription=”I am a something type of error” aria-label=”Something happened”/>
8)  <span role=”application” aria-roledescription=”I am a custom something”/>

I think the discussion will benefit from when we are distinct here and willing to actively scan for potential contradictions.
I can do more examples on request.

Best Regards
Stefan



From: Matt King [mailto:a11ythinker@gmail.com]
Sent: Mittwoch, 6. Juli 2016 00:09
To: 'Rich Schwerdtfeger' <richschwer@gmail.com>
Cc: 'ARIA Working Group' <public-aria@w3.org>
Subject: RE: ACTION-2092 - Proposal ready for review - Create a proposal for handling the role description value of ""

Option 1 and 3 both specify that a value that is empty or only white space does exactly that; it does not change the processing of the element b/c the roledescription is not exposed.

From: Rich Schwerdtfeger [mailto:richschwer@gmail.com]
Sent: Tuesday, July 5, 2016 2:51 PM
To: Matt King <a11ythinker@gmail.com<mailto:a11ythinker@gmail.com>>
Cc: ARIA Working Group <public-aria@w3.org<mailto:public-aria@w3.org>>
Subject: Re: ACTION-2092 - Proposal ready for review - Create a proposal for handling the role description value of ""

… or you leave the role description off altogether and the default is to do nothing (don’t change how the role is processed).

I do agree there is a concern that authors will put themselves in a position where they try to be the screen reader vendor and influence the user experience.


Rich Schwerdtfeger



On Jul 5, 2016, at 4:27 PM, Matt King <a11ythinker@gmail.com<mailto:a11ythinker@gmail.com>> wrote:

I vote for option 3 in the below proposal. If option 3 is not acceptable to the group, I vote for option 1.

While allowing ARIA to wipe out screen reader announcement of an element’s role with an empty roledescription makes ARIA more flexible, I think it is unnecessary flexibility that increases the risk of negative side effects and makes debugging problems more complex for authors. As a screen reader user, I already find roledescription scary enough without this added complexity.

Matt King

From: Matt King [mailto:a11yThinker@Gmail.com]
Sent: Tuesday, July 5, 2016 1:53 PM
To: ARIA Working Group <public-aria@w3.org<mailto:public-aria@w3.org>>
Subject: ACTION-2092 - Proposal ready for review - Create a proposal for handling the role description value of “”

Proposals to specify how null or empty aria-roledescription values will be handled by user agents and assistive technologies are ready for review.

Following are the proposals. As I explain below, I think this exposes other ambiguities in aria-roledescription that should be plugged.

In branch action2092option1[1], added the following sentence.
"If the value of aria-roledescription is empty or contains only white space characters, user agents MUST treat the element as if the aria-roledescription property were not specified."

In branch action2092option2[2], added the following 2 sentences.
"If the value of aria-roledescription is empty or contains only white space characters, user agents SHOULD expose the value in a manner consistent with how null values are expressed in their platform accessibility API. If the value is empty or null, assistive technologies MAY render the element as if it does not have a role name."

In the process of making the above branches, I noticed that there is still significant ambiguity regarding what an assistive technology should do with the roledescription. The actual intent of the property is not clear. For example, if you provide a roledescription for a region, should the assistive technology still treat the element as a region? This ambiguity also has significant impact on the meaning of the note that tells authors how to limit the use of roledescription.

The issue of how authors, user agents, and assistive technologies may treat null or empty values increases the need to remove these ambiguities. So, I have also proposed an option 3, which equivalent to option 1 but also addresses these issues. I did not make a similar equivalence to option 2 because it is much less clear what the normative authoring and assistive technology guidance should be in that case.

In branch action2092option3[3]:
1. Stated that user agents MUST NOT expose aria-roledescription if it is empty or whitespace (same as option 1)
2. Changed the note that contained an implied normative author SHOULD limiting use of the roledescription into a normative author SHOULD.
3. Added a normative assistive technology SHOULD statement explaining that roledescription should change only how the name of the role of an element is expressed and should not change which assistive technology functions are provided for an element.
4. (editorial) Used a list format to express the authoring and user agent requirements.

[1] action2092option1 branch:
http://rawgit.com/w3c/aria/action2092option1/aria/aria.html


[2] action2092option2 branch:
http://rawgit.com/w3c/aria/action2092option2/aria/aria.html


[3] action2092option3 branch:
http://rawgit.com/w3c/aria/action2092option3/aria/aria.html


Matt King

Received on Wednesday, 6 July 2016 08:40:10 UTC