Skip to content
  • dmazzoni@google.com's avatar
    AX: Layout tests would be easier to write if AccessibilityController could find an element by id · 8dea0ad0
    dmazzoni@google.com authored
    https://bugs.webkit.org/show_bug.cgi?id=97301
    
    Reviewed by Chris Fleizach.
    
    Source/WebCore:
    
    Add a method to get the DOM "id" attribute from an accessible object, only for layout tests.
    
    Makes existing test more cross-platform:
    Tests: accessibility/aria-hidden-with-elements.html
    
    * accessibility/mac/WebAccessibilityObjectWrapper.mm:
    (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
    
    Tools:
    
    Adds a new accessibleElementById method to AccessibilityController, to make it
    easier to write cross-platform layout tests.
    
    Implemented for Chromium and for Mac (DRT and WKTR).
    
    * DumpRenderTree/AccessibilityController.cpp:
    (getAccessibleElementByIdCallback):
    (AccessibilityController::getJSClass):
    * DumpRenderTree/AccessibilityController.h:
    (AccessibilityController):
    * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
    * DumpRenderTree/chromium/TestRunner/AccessibilityControllerChromium.cpp:
    (AccessibilityController::AccessibilityController):
    (AccessibilityController::findAccessibleElementByIdRecursive):
    (AccessibilityController::getAccessibleElementById):
    (AccessibilityController::accessibleElementByIdGetterCallback):
    * DumpRenderTree/chromium/TestRunner/AccessibilityControllerChromium.h:
    (AccessibilityController):
    * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
    (AccessibilityController::accessibleElementById):
    * DumpRenderTree/mac/AccessibilityCommonMac.h: added
    * DumpRenderTree/mac/AccessibilityCommonMac.mm: added
    (+[NSString stringWithJSStringRef:]):
    (-[NSString createJSStringRef]):
    * DumpRenderTree/mac/AccessibilityControllerMac.mm:
    (findAccessibleObjectById):
    (AccessibilityController::accessibleElementById):
    * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
    * DumpRenderTree/win/AccessibilityControllerWin.cpp:
    (AccessibilityController::accessibleElementById):
    * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
    (WTR::AccessibilityController::accessibleElementById):
    * WebKitTestRunner/InjectedBundle/AccessibilityController.h:
    (AccessibilityController):
    * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl:
    * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h: added
    * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm: added
    (+[NSString stringWithJSStringRef:]):
    (-[NSString createJSStringRef]):
    * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
    (WTR::findAccessibleObjectById):
    (WTR):
    (WTR::AccessibilityController::accessibleElementById):
    * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
    * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
    
    LayoutTests:
    
    Modifies an existing test to use the new accessibleElementById
    method of AccessibilityController, enabling the test to pass on
    both Mac and Chromium.
    
    * accessibility/aria-hidden-with-elements.html:
    * platform/chromium/TestExpectations:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129308 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    8dea0ad0