RESOLVED FIXED 122574
AX: VoiceOver speaking too much when group elements with tabindex=-1 are used
https://bugs.webkit.org/show_bug.cgi?id=122574
Summary AX: VoiceOver speaking too much when group elements with tabindex=-1 are used
chris fleizach
Reported 2013-10-09 14:32:33 PDT
When a <div> has a tabindex=-1, it is having the affecting of causing it's AXTitle to be calculated by concatenating all the children. This causes VO to double-speak lots of information. We should not consider tabindex=-1 not meet this criteria we are using to determine whether to calculate the info The problem can be seen by visiting http://webaim.org/techniques/forms/controls#checkbox with VoiceOver <rdar://problem/15190911>
Attachments
patch (5.47 KB, patch)
2013-10-09 16:14 PDT, chris fleizach
mario: review+
Radar WebKit Bug Importer
Comment 1 2013-10-09 14:32:55 PDT
chris fleizach
Comment 2 2013-10-09 16:14:52 PDT
Mario Sanchez Prada
Comment 3 2013-10-10 03:52:28 PDT
Comment on attachment 213830 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=213830&action=review Looks good to me. I've just made a couple of minor comments for your consideration before landing. > Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1325 > + useTextUnderElement = true; > + > + // If a node uses a negative tabindex, do not expose it as a generic focusable element, because keyboard focus management > + // will never land on this specific element. > + Node* node = this->node(); > + if (node && node->isElementNode() && toElement(node)->tabIndex() < 0) > + useTextUnderElement = false; Probably a pointless suggestion, but what about assigning useTextUnderElement once only? e.g: useTextUnderElement = !(node && node->isElementNode() && toElement(node)->tabIndex() < 0); > LayoutTests/accessibility/negative-tabindex-does-not-expose-label.html:18 > + > + One of these empty lines are not needed
chris fleizach
Comment 4 2013-10-10 10:40:18 PDT
Note You need to log in before you can comment on or make changes to this bug.