Changeset 248169 in webkit


Ignore:
Timestamp:
Aug 2, 2019 12:10:02 PM (5 years ago)
Author:
commit-queue@webkit.org
Message:

Add accessibility object method to determine whether an element is inside a table cell. Needed for iOS accessibility client.
https://bugs.webkit.org/show_bug.cgi?id=200394
<rdar://problem/52914964>

Patch by Andres Gonzalez <Andres Gonzalez> on 2019-08-02
Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/ios-simulator/element-in-table-cell.html

Added _accessibilityIsInTableCell needed for iOS accessibility client.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _accessibilityIsInTableCell]):

Tools:

Glue code to exercise new method [WebAccessibilityObjectWrapper _accessibilityIsInTableCell].

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::isInTableCell const):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::isInTableCell const):

LayoutTests:

New test that exercises [WebAccessibilityObjectWrapper _accessibilityIsInTableCell].

  • accessibility/ios-simulator/element-in-table-cell-expected.txt: Added.
  • accessibility/ios-simulator/element-in-table-cell.html: Added.
Location:
trunk
Files:
2 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r248155 r248169  
     12019-08-02  Andres Gonzalez  <andresg_22@apple.com>
     2
     3        Add accessibility object method to determine whether an element is inside a table cell. Needed for iOS accessibility client.
     4        https://bugs.webkit.org/show_bug.cgi?id=200394
     5        <rdar://problem/52914964>
     6
     7        Reviewed by Chris Fleizach.
     8
     9        New test that exercises [WebAccessibilityObjectWrapper _accessibilityIsInTableCell].
     10
     11        * accessibility/ios-simulator/element-in-table-cell-expected.txt: Added.
     12        * accessibility/ios-simulator/element-in-table-cell.html: Added.
     13
    1142019-08-02  Chris Dumez  <cdumez@apple.com>
    215
  • trunk/Source/WebCore/ChangeLog

    r248167 r248169  
     12019-08-02  Andres Gonzalez  <andresg_22@apple.com>
     2
     3        Add accessibility object method to determine whether an element is inside a table cell. Needed for iOS accessibility client.
     4        https://bugs.webkit.org/show_bug.cgi?id=200394
     5        <rdar://problem/52914964>
     6
     7        Reviewed by Chris Fleizach.
     8
     9        Test: accessibility/ios-simulator/element-in-table-cell.html
     10
     11        Added _accessibilityIsInTableCell needed for iOS accessibility client.
     12        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
     13        (-[WebAccessibilityObjectWrapper _accessibilityIsInTableCell]):
     14
    1152019-08-02  Eric Carlson  <eric.carlson@apple.com>
    216
  • trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm

    r247891 r248169  
    598598        return parent->wrapper();
    599599    return nil;
     600}
     601
     602- (BOOL)_accessibilityIsInTableCell
     603{
     604    return AccessibilityObject::matchedParent(*m_object, false, [] (const AccessibilityObject& object) {
     605        return object.roleValue() == AccessibilityRole::Cell;
     606    });
    600607}
    601608
  • trunk/Tools/ChangeLog

    r248168 r248169  
     12019-08-02  Andres Gonzalez  <andresg_22@apple.com>
     2
     3        Add accessibility object method to determine whether an element is inside a table cell. Needed for iOS accessibility client.
     4        https://bugs.webkit.org/show_bug.cgi?id=200394
     5        <rdar://problem/52914964>
     6
     7        Reviewed by Chris Fleizach.
     8
     9        Glue code to exercise new method [WebAccessibilityObjectWrapper _accessibilityIsInTableCell].
     10
     11        * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
     12        (WTR::AccessibilityUIElement::isInTableCell const):
     13        * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
     14        * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
     15        * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
     16        (WTR::AccessibilityUIElement::isInTableCell const):
     17
    1182019-08-02  Zhifei Fang  <zhifei_fang@apple.com>
    219
  • trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp

    r247367 r248169  
    8080bool AccessibilityUIElement::dismiss() { return false; }
    8181JSRetainPtr<JSStringRef> AccessibilityUIElement::attributedStringForElement() { return nullptr; }
     82bool AccessibilityUIElement::isInTableCell() const { return false; }
    8283#endif
    8384   
  • trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h

    r247671 r248169  
    190190    JSRetainPtr<JSStringRef> attributesOfVisibleCells();
    191191    JSRetainPtr<JSStringRef> attributesOfHeader();
     192    bool isInTableCell() const;
    192193    int indexInTable();
    193194    JSRetainPtr<JSStringRef> rowIndexRange();
  • trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl

    r247671 r248169  
    151151    AccessibilityUIElement disclosedRowAtIndex(unsigned long index);
    152152    AccessibilityUIElement rowAtIndex(unsigned long index);
     153    boolean isInTableCell();
    153154    long indexInTable();
    154155    DOMString rowIndexRange();
  • trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm

    r247677 r248169  
    104104- (id)lineEndMarkerForMarker:(id)marker;
    105105- (NSArray *)textMarkerRangeFromMarkers:(NSArray *)markers withText:(NSString *)text;
     106- (BOOL)_accessibilityIsInTableCell;
    106107@end
    107108
     
    793794{
    794795    return [m_element accessibilityColumnCount];
     796}
     797
     798bool AccessibilityUIElement::isInTableCell() const
     799{
     800    return [m_element _accessibilityIsInTableCell];
    795801}
    796802
Note: See TracChangeset for help on using the changeset viewer.