Bug 121408

Summary: AX: ARIA tablist is disabled, but VoiceOver does not speak the tabs as dimmed
Product: WebKit Reporter: chris fleizach <cfleizach>
Component: AccessibilityAssignee: chris fleizach <cfleizach>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, buildbot, commit-queue, dmazzoni, jdiggs, mario, rniwa, thorton, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
patch
none
patch
buildbot: commit-queue-
patch darin: review+

Description chris fleizach 2013-09-15 23:01:29 PDT
When a tablist is disabled, but VoiceOver does not speak the tabs as dimmed

http://www.w3.org/WAI/PF/aria/complete#aria-disabled
"The state of being disabled applies to the current element and all focusable descendant elements of the element on which the aria-disabled attribute is applied."

According to that, I think the safest thing to do would be to have WebKit expose AXEnabled: NO on the descendant elements as well. The current explicit "AXEnabled:YES" seems wrong.


<rdar://problem/13634680>
Comment 1 chris fleizach 2013-09-15 23:36:35 PDT
Created attachment 211741 [details]
patch
Comment 2 WebKit Commit Bot 2013-09-15 23:39:01 PDT
Attachment 211741 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/accessibility/aria-disabled-propagated-to-children-expected.txt', u'LayoutTests/accessibility/aria-disabled-propagated-to-children.html', u'Source/WebCore/ChangeLog', u'Source/WebCore/accessibility/AccessibilityNodeObject.cpp']" exit_code: 1
Source/WebCore/accessibility/AccessibilityNodeObject.cpp:610:  An else if statement should be written as an if statement when the prior "if" concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 chris fleizach 2013-09-16 08:51:57 PDT
Created attachment 211794 [details]
patch
Comment 4 Build Bot 2013-09-16 08:57:39 PDT
Comment on attachment 211794 [details]
patch

Attachment 211794 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/1810254
Comment 5 chris fleizach 2013-09-16 09:06:27 PDT
Created attachment 211798 [details]
patch
Comment 6 Darin Adler 2013-09-16 14:54:42 PDT
Comment on attachment 211798 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=211798&action=review

> Source/WebCore/accessibility/AccessibilityNodeObject.cpp:598
> +    for (AccessibilityObject* object = static_cast<AccessibilityObject*>(const_cast<AccessibilityNodeObject*>(this)); object; object = object->parentObject()) {

The const_cast is needed, but the static_cast is not.
Comment 7 chris fleizach 2013-09-16 15:56:31 PDT
http://trac.webkit.org/changeset/155909