Changeset 209118 in webkit
- Timestamp:
- Nov 29, 2016 8:38:28 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r209117 r209118 1 2016-11-29 Nan Wang <n_wang@apple.com> 2 3 AX: ARIA tree & treeitem roles & aria-expanded state not spoken to VoiceOver iOS 10 4 https://bugs.webkit.org/show_bug.cgi?id=164936 5 <rdar://problem/29334274> 6 7 Reviewed by Chris Fleizach. 8 9 * accessibility/ios-simulator/treeitem-expanded-expected.txt: Added. 10 * accessibility/ios-simulator/treeitem-expanded.html: Added. 11 1 12 2016-11-29 Chris Dumez <cdumez@apple.com> 2 13 -
trunk/Source/WebCore/ChangeLog
r209117 r209118 1 2016-11-29 Nan Wang <n_wang@apple.com> 2 3 AX: ARIA tree & treeitem roles & aria-expanded state not spoken to VoiceOver iOS 10 4 https://bugs.webkit.org/show_bug.cgi?id=164936 5 <rdar://problem/29334274> 6 7 Reviewed by Chris Fleizach. 8 9 Added a new container type on iOS for trees. Also, since the treeitem role is ignored 10 on iOS, we should expose the expanded status of a treeitem to its accessible children. 11 12 Test: accessibility/ios-simulator/treeitem-expanded.html 13 14 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: 15 (-[WebAccessibilityObjectWrapper _accessibilityTreeAncestor]): 16 (-[WebAccessibilityObjectWrapper treeItemParentForObject:]): 17 (-[WebAccessibilityObjectWrapper accessibilitySupportsARIAExpanded]): 18 (-[WebAccessibilityObjectWrapper accessibilityIsExpanded]): 19 1 20 2016-11-29 Chris Dumez <cdumez@apple.com> 2 21 -
trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
r208924 r209118 530 530 return NO; 531 531 } 532 } 533 534 - (AccessibilityObjectWrapper*)_accessibilityTreeAncestor 535 { 536 auto matchFunc = [] (const AccessibilityObject& object) { 537 AccessibilityRole role = object.roleValue(); 538 return role == TreeRole; 539 }; 540 541 if (const AccessibilityObject* parent = AccessibilityObject::matchedParent(*m_object, false, matchFunc)) 542 return parent->wrapper(); 543 return nil; 532 544 } 533 545 … … 1849 1861 } 1850 1862 1863 - (AccessibilityObject*)treeItemParentForObject:(AccessibilityObject*)object 1864 { 1865 // Use this to check if an object is inside a treeitem object. 1866 if (const AccessibilityObject* parent = AccessibilityObject::matchedParent(*object, true, [] (const AccessibilityObject& object) { 1867 return object.roleValue() == TreeItemRole; 1868 })) 1869 return const_cast<AccessibilityObject*>(parent); 1870 return nil; 1871 } 1872 1851 1873 - (void)accessibilityElementDidBecomeFocused 1852 1874 { … … 2709 2731 return detailParent->supportsExpanded(); 2710 2732 2733 if (AccessibilityObject* treeItemParent = [self treeItemParentForObject:m_object]) 2734 return treeItemParent->supportsExpanded(); 2735 2711 2736 return m_object->supportsExpanded(); 2712 2737 } … … 2721 2746 if (AccessibilityObject* detailParent = [self detailParentForSummaryObject:m_object]) 2722 2747 return detailParent->isExpanded(); 2748 2749 if (AccessibilityObject* treeItemParent = [self treeItemParentForObject:m_object]) 2750 return treeItemParent->isExpanded(); 2723 2751 2724 2752 return m_object->isExpanded();
Note: See TracChangeset
for help on using the changeset viewer.