Bug 126914

Summary: AX: Do not return an accessible name for an object just because it has tabindex=0
Product: WebKit Reporter: chris fleizach <cfleizach>
Component: AccessibilityAssignee: chris fleizach <cfleizach>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, commit-queue, dmazzoni, jcraig, jdiggs, mario, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
patch mario: review+

Description chris fleizach 2014-01-13 10:03:32 PST
When VoiceOver encounters a <div> that has tabindex=0 on it, it speaks all the text under that div. 

That's because we're concatenating all the text under an element that is focusable. 

There's nothing in ARIA that allows for this and it has caused endless problems for VoiceOver speaking way too much useless information.

I think we should undo this change which isn't supported by any spec.

<rdar://problem/13603051>
Comment 1 chris fleizach 2014-01-13 10:08:34 PST
Created attachment 221059 [details]
patch
Comment 2 Mario Sanchez Prada 2014-01-16 01:55:31 PST
Comment on attachment 221059 [details]
patch

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

The patch looks good to me, although I don't understand why you are getting that undefined expectation for one test. Also, I think we might potentially have to adapt the ATK port after this change, but I'm happy to give it a try now and adapt later so VO is not blocked on theories :)

Setting the r+ anyway, but please take a look to the issue with the FAIL expectation before landing

> LayoutTests/accessibility/focusable-div-expected.txt:17
> -PASS lastChar(axDiv.title) is "B"
> +FAIL lastChar(axDiv.title) should be undefined (of type undefined). Was   (of type string).

This FAIL expectation looks wrong. Not sure why this is happening, though (why is "" undefined?)

> LayoutTests/accessibility/focusable-div-expected.txt:19
> +FAIL lastChar(axDiv2.title) should be undefined (of type undefined). Was   (of type string).

Same here
Comment 3 chris fleizach 2014-01-22 17:57:39 PST
http://trac.webkit.org/changeset/162576