[Webkit-unassigned] [Bug 125854] [ATK] [WK2] platform/gtk/accessibility/roles-exposed.html is failing

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Dec 17 05:15:17 PST 2013


https://bugs.webkit.org/show_bug.cgi?id=125854





--- Comment #1 from Mario Sanchez Prada <mario at webkit.org>  2013-12-17 05:13:24 PST ---
The problem seems to be related to this part of the test, since the output of the test using WKTR always prints "AXRole: " for every object in WebCore's accessibility tree, despite of that object being exposed or not through ATK:

    [...]
    axElement = accessibilityController.accessibleElementById(el.id);
    if (axElement)
        role = axElement.role;
    else
        role = 'AXRole: ';
    [...]


So, the problem is that there's a difference in what is returned by accessibleElementById() when the specified ID belongs to an element that is currently not being exposed in ATK (e.g. a row):

 - DRT: returns a valid AccessibilityUIElement, wrapping a null pointer (as there's no valid AtkObject to wrap).

 - WKTR: returns an undefined/null value, which is the expected behavior.


So, this error is happening now because I created the test expectations with DRT, which will go through the first branch of the if, actually returning an empty string '' when calling axElement.role, as there's no wrapped object.

In my opinion, we should make DRT consistent with what WKTR and return an undefined/null object in AccessibilityUIElement::makeJSAccessibilityUIElement() when the platform-specific accessibility object to be wrapped is not valid, in order to avoid this discrepancies between the two ports.

Furthermore, this change will probably help detect other issues that might have gone overlooked so far, so I think it's a good thing to do.

I'll upload a patch proposing a solution soon.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list