RE: Significant ambiguities in aria-roledescription

Rich, 

 

When raising these concerns, I am not talking about prescribing the design of the screen reader UI. These are ambiguities regarding under what conditions screen readers or other assistive technologies will surface information. Of course, they will surface it in their own way. But, if it is not clear when to do so, authors can not effectively use the property because they will find that even among screen readers that support it, the behaviors will vary so widely that the property is useless.

 

If some screen readers unconditionally render roledescriptions and others do so conditionally, and both are justified based on the spec language, then authors are left pulling out their hair. You will get a similar outcome when some screen reader developers interprete roledescription as a replacement of the role name and others as a supplement to the role name when expressing the role of an element. If you read the language and examples closely, it appears to me that it is a replacement and not a supplement. But, in the telecom, it sounded like you want it to be a supplement. I don’t think the people who want roledescription the most will get what they need if it is a supplement.

 

With such ambiguities, it is impossible to write good authoring guidance because we have no idea what expected outcomes are. 

 

BTW, One of these ambiguities was raised by Jamie. They don’t want to be told how to do things. But, they do not want the spec so ambiguous that it is not clear what the design parameters and constraints are. I don’t think they are making an “over the top” request by asking that the spec not be silent on such matters. Presence of information in the accessibility API alone is not adequate guidance unless you expect that all assistive technologies reveal all information in the accessibility API for all elements regardless of conditions. 

 

Matt

 

From: Richard Schwerdtfeger [mailto:richschwer@gmail.com] 
Sent: Thursday, July 7, 2016 6:11 AM
To: Matt King <a11ythinker@gmail.com>
Cc: ARIA Working Group <public-aria@w3.org>
Subject: Re: Significant ambiguities in aria-roledescription

 

Matt, 

 

While I understand your point, the group’s job is not to design the screen readers for them.

 

It is certainly beyond the scope of ARIA 2.0 of directing screen readers how to design their UI. 

 

Remember, screen readers have the ability to access the actual semantics. They could so something as basic as 

 

- listitem represented as fruit

- say fruit and then query the actual role of the object. 

 

Another concern I have is we are making this all about the blind. Onscreen keyboards can also use this information. I don’t want the ARIA specification mascarading as only a solution for the blind. What you are asking is a slippery slope. 

 

Screen reader vendors don’t want us dictating their UI to this degree either.

 

I can understand in some cases how you might want to have screen readers address some issues but this is going over the top.   

 

Rich

 

On Jul 7, 2016, at 3:17 AM, Matt King <a11ythinker@gmail.com <mailto:a11ythinker@gmail.com> > wrote:

 

We have 2 significant ambiguities of which I am now aware in aria-roledescription even with the additional normative statements I added in option 3 of the below proposal.

 

Ambiguity #1: role none with a role description:

<img role=”none” aria-roledescription=”Gotch ya”>

<table role=”none” aria-roledescription=”layout table”>

 

What would end up in the AX tree? What should a screen reader say?

 

Ambiguity 2:  role description on an element whose role is normally suppressed by screen readers:

<ul>

<li aria-roledescription=”fruit”>Apple</li>

<li aria-roledescription=”fruit”>Banana</li>

<li aria-roledescription=”fruit”>Orange </li>

</ul>

 

Should screen readers be expected to announce each list item as a fruit? Or, should the screen reader be able to use normal processing for the listitem role and not speak the role description?

 

It would be a pretty significant issue for authors if every screen reader came up with their own idea about what to do.

 

Matt

 

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

 

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> mailto:a11yThinker@Gmail.com] 
Sent: Tuesday, July 5, 2016 1:53 PM
To: ARIA Working Group < <mailto:public-aria@w3.org> 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> http://rawgit.com/w3c/aria/action2092option1/aria/aria.html

 

[2] action2092option2 branch:

 <http://rawgit.com/w3c/aria/action2092option2/aria/aria.html> http://rawgit.com/w3c/aria/action2092option2/aria/aria.html

 

[3] action2092option3 branch:

 <http://rawgit.com/w3c/aria/action2092option3/aria/aria.html> http://rawgit.com/w3c/aria/action2092option3/aria/aria.html

 

Matt King

 

Received on Friday, 8 July 2016 22:28:27 UTC