Re: Element.getComputedRole() + Element.getUIBehaviors()

James,

Sorry to keep bugging you about this topic, but I just want to make sure I fully understand what you are saying.

When are web accessibility evaluation tools useful?

What should web accessibility evaluation tools check?

Thanks,
Jon


From: James Nurthen <james.nurthen@oracle.com<mailto:james.nurthen@oracle.com>>
Organization: Oracle Corporation
Date: Wednesday, November 26, 2014 at 1:19 PM
To: Jon Gunderson <jongund@illinois.edu<mailto:jongund@illinois.edu>>, "public-pfwg@w3.org<mailto:public-pfwg@w3.org>" <public-pfwg@w3.org<mailto:public-pfwg@w3.org>>
Subject: Re: Element.getComputedRole() + Element.getUIBehaviors()

Jon,
Please see inline.

On 11/26/2014 11:04 AM, Gunderson, Jon R wrote:
James,

What if a development team does not understand they need to support the keyboard or add ARIA roles to a widget they are building accessible, you would rather an evaluation tools be silent?
If a team does not understand that everything needs to be keyboard accessible then I do not believe they will be running accessibility evaluation tools on their products.

Every time new warnings or false positives are introduced it leads to at least 2 possible harmful scenarios.
The first is that people ignore the warnings / false positives due to investigating one or 2, finding they are no issue and then assuming all the others follow the same pattern.
The second is that they modify their code to make the warnings / false positives go away. When these modifications are not necessary this is either wasted developer time which could have been spent on other issues or, even worse, end up negatively affecting the accessibility of the product. In the example cited I would bet many developers would end up adding tabindex=0 and a role which would lead to decreased accessibility dues to an extra tab-stop for the redundant control.

I don't see how adding something like this benefits anyone.

Regards,
James


Doesn’t this lead to people thinking or even claiming accessibility when they are not?

There are a lot of newbies out there who do not understand ARIA technology and are creating very inaccessible web resources.

Jon

From: James Nurthen <james.nurthen@oracle.com<mailto:james.nurthen@oracle.com>>
Organization: Oracle Corporation
Date: Wednesday, November 26, 2014 at 12:33 PM
To: "public-pfwg@w3.org<mailto:public-pfwg@w3.org>" <public-pfwg@w3.org<mailto:public-pfwg@w3.org>>
Subject: Re: Element.getComputedRole() + Element.getUIBehaviors()
Resent-From: "public-pfwg@w3.org<mailto:public-pfwg@w3.org>" <public-pfwg@w3.org<mailto:public-pfwg@w3.org>>
Resent-Date: Wednesday, November 26, 2014 at 12:34 PM

Jon,
If this were to be keyboard focusable then I agree it would need a role - but without a keyboard focus I think it is more likely to be a secondary method of accomplishing a task - and any tool that starts reporting things like this is going to end up requiring users to perform so many manual checks that they end up not doing them. We can already determine if something can take a keyboard focus so I believe we can already cover this where necessary.

Regards,
James


On 11/26/2014 10:10 AM, Gunderson, Jon R wrote:
James,

There are situations where event information will be more or less useful, but without some type of event information it is impossible through the standard DOM to identify elements that may need ARIA roles (I.e. <div onmousedown=“someEvent”).

Do you agree with that?

Jon




From: James Nurthen <james.nurthen@oracle.com<mailto:james.nurthen@oracle.com>>
Organization: Oracle Corporation
Date: Wednesday, November 26, 2014 at 12:03 PM
To: Jon Gunderson <jongund@illinois.edu<mailto:jongund@illinois.edu>>, "public-pfwg@w3.org<mailto:public-pfwg@w3.org>" <public-pfwg@w3.org<mailto:public-pfwg@w3.org>>
Subject: Re: Element.getComputedRole() + Element.getUIBehaviors()

Jon,
In many frameworks all of these events will be handled at the page level. I don't think you are going to get any useful information from these rules.
Regards,
James

On 11/26/2014 9:58 AM, Gunderson, Jon R wrote:
James,

I agree, any accessibility rules related to events have to take into account event bubbling.

There are two main types of rules this type of function supports:

  1.  A element has some type of behavior that needs an ARIA role, for example:

<div onClick=“submitForm”>Submit</div>

2. An element has some ARIA widget role that requires keyboard support, but there is no keyboard event handler that the element can respond to, even when event bubbling is taken into account.

Jon


From: James Nurthen <james.nurthen@oracle.com<mailto:james.nurthen@oracle.com>>
Organization: Oracle Corporation
Date: Wednesday, November 26, 2014 at 11:45 AM
To: "public-pfwg@w3.org<mailto:public-pfwg@w3.org>" <public-pfwg@w3.org<mailto:public-pfwg@w3.org>>
Subject: Re: Element.getComputedRole() + Element.getUIBehaviors()
Resent-From: "public-pfwg@w3.org<mailto:public-pfwg@w3.org>" <public-pfwg@w3.org<mailto:public-pfwg@w3.org>>
Resent-Date: Wednesday, November 26, 2014 at 11:45 AM

+1

On 11/26/2014 9:41 AM, Dominic Mazzoni wrote:
As before my main concern with this type of function is that it's impossible to implement correctly, and therefore it's quite misleading and of dubious value. Event delegation is an extremely common pattern in web apps, and there's no way to know whether an element is being listened to by an event handler on a different element or not.

On Wed, Nov 26, 2014 at 9:07 AM, Gunderson, Jon R <jongund@illinois.edu<mailto:jongund@illinois.edu>> wrote:
Rich and Dominic,

What do you think about a element method called getUIBehavior()?


interface Element : Node {

  Boolean  getUIBehaviors(in DOMString name);

}

DOMString values:

‘click’ : Returns true if node has at least one event handler for the following events “onclick” or “ondbclick” events

‘keyboard’ : Returns true if node has at least one event handler for the following events “onKeyPress”, “onKeyDown or “onKeyUp” events

‘mouse’ : Returns true if node has at least one event handler for “onMouseXXX” events

‘change’ : Returns true if node has at “onChange” event

“focus”  : Returns  true if node has at “onFocus” event

“blur”  : Returns  true if node has at “onBlur” event

“drag” : Returns true if node has at least one event handler for “onDragXXX” events

“css”  : Returns true if node has at least one event handler for “animationXXX” events or “transitionend” event

From: Dominic Mazzoni <dmazzoni@google.com<mailto:dmazzoni@google.com>>
Date: Thursday, October 16, 2014 at 3:51 PM
To: Richard Schwerdtfeger <schwer@us.ibm.com<mailto:schwer@us.ibm.com>>
Cc: "public-pfwg@w3.org<mailto:public-pfwg@w3.org>" <public-pfwg@w3.org<mailto:public-pfwg@w3.org>>
Subject: Re: Element.getComputedRole()
Resent-From: "public-pfwg@w3.org<mailto:public-pfwg@w3.org>" <public-pfwg@w3.org<mailto:public-pfwg@w3.org>>
Resent-Date: Thursday, October 16, 2014 at 3:52 PM

Sure, I think it's a good idea.

How about getComputedAccessibleText next?

In both Blink and WebKit I imagine we'll have to think about efficiency when implementing this - typically we enable accessibility lazily and then leave it on - at least for that page. We'd want to use the real accessibility code to compute this, but then disable accessibility support and clean up if it wasn't enabled previously.


On Thu, Oct 16, 2014 at 1:19 PM, Richard Schwerdtfeger <schwer@us.ibm.com<mailto:schwer@us.ibm.com>> wrote:

Hi Dominic,

We have an issue to add a getComputedRole() function on  Element. This would help application developers as well as accessibility test tools. Here is the issue:

https://www.w3.org/WAI/PF/Group/track/issues/427

Would you support implementing this feature in Chrome?

Thanks,

Rich




Rich Schwerdtfeger



--
Regards, James

[Oracle]<http://www.oracle.com>
James Nurthen | Principal Engineer, Accessibility
Phone: +1 650 506 6781<tel:+1%20650%20506%206781> | Mobile: +1 415 987 1918<tel:+1%20415%20987%201918>
Oracle Corporate Architecture
500 Oracle Parkway | Redwood City, CA 94065
[Green Oracle]<http://www.oracle.com/commitment> Oracle is committed to developing practices and products that help protect the environment

--
Regards, James

[Oracle]<http://www.oracle.com>
James Nurthen | Principal Engineer, Accessibility
Phone: +1 650 506 6781<tel:+1%20650%20506%206781> | Mobile: +1 415 987 1918<tel:+1%20415%20987%201918>
Oracle Corporate Architecture
500 Oracle Parkway | Redwood City, CA 94065
[Green Oracle]<http://www.oracle.com/commitment> Oracle is committed to developing practices and products that help protect the environment

--
Regards, James

[Oracle]<http://www.oracle.com>
James Nurthen | Principal Engineer, Accessibility
Phone: +1 650 506 6781<tel:+1%20650%20506%206781> | Mobile: +1 415 987 1918<tel:+1%20415%20987%201918>
Oracle Corporate Architecture
500 Oracle Parkway | Redwood City, CA 94065
[Green Oracle]<http://www.oracle.com/commitment> Oracle is committed to developing practices and products that help protect the environment

--
Regards, James

[Oracle]<http://www.oracle.com>
James Nurthen | Principal Engineer, Accessibility
Phone: +1 650 506 6781<tel:+1%20650%20506%206781> | Mobile: +1 415 987 1918<tel:+1%20415%20987%201918>
Oracle Corporate Architecture
500 Oracle Parkway | Redwood City, CA 94065
[Green              Oracle]<http://www.oracle.com/commitment> Oracle is committed to developing practices and products that help protect the environment

Received on Wednesday, 26 November 2014 19:39:03 UTC