Skip to content
  • cfleizach@apple.com's avatar
    AX: aria-hidden on container does not hide descendant popup buttons · a9eba455
    cfleizach@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=112373
    
    Reviewed by Ryosuke Niwa.
    
    Source/WebCore:
    
    There are a number of subclass AX objects that implement accessibilityIsIgnored()
    to always return false. This means that even if their parent is aria-hidden=true
    they still show up in the tree.
    
    This re-organizes this base case of aria-hidden into AccessibilityObject so that
    it can be re-used by these special subclasses where appropriate.
    
    Test: accessibility/aria-hidden-hides-all-elements.html
    
    * accessibility/AccessibilityImageMapLink.h:
    (WebCore::AccessibilityImageMapLink::isImageMapLink):
    * accessibility/AccessibilityList.cpp:
    (WebCore::AccessibilityList::computeAccessibilityIsIgnored):
    * accessibility/AccessibilityListBox.cpp:
    (WebCore):
    * accessibility/AccessibilityListBox.h:
    (AccessibilityListBox):
    * accessibility/AccessibilityListBoxOption.cpp:
    (WebCore::AccessibilityListBoxOption::computeAccessibilityIsIgnored):
    * accessibility/AccessibilityMediaControls.cpp:
    (WebCore::AccessibilityMediaControl::computeAccessibilityIsIgnored):
    (WebCore::AccessibilityMediaControlsContainer::computeAccessibilityIsIgnored):
    (WebCore::AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored):
    * accessibility/AccessibilityMediaControls.h:
    (AccessibilityMediaControlsContainer):
    * accessibility/AccessibilityMenuList.h:
    (WebCore::AccessibilityMenuList::roleValue):
    * accessibility/AccessibilityMenuListOption.cpp:
    (WebCore::AccessibilityMenuListOption::computeAccessibilityIsIgnored):
    * accessibility/AccessibilityMenuListPopup.cpp:
    (WebCore::AccessibilityMenuListPopup::computeAccessibilityIsIgnored):
    * accessibility/AccessibilityMockObject.cpp:
    (WebCore::AccessibilityMockObject::computeAccessibilityIsIgnored):
    (WebCore):
    * accessibility/AccessibilityMockObject.h:
    (AccessibilityMockObject):
    * accessibility/AccessibilityObject.cpp:
    (WebCore::AccessibilityObject::accessibilityIsIgnoredDefaultForObject):
    (WebCore):
    (WebCore::AccessibilityObject::ariaIsHidden):
    (WebCore::AccessibilityObject::accessibilityIsIgnoredBase):
    * accessibility/AccessibilityObject.h:
    (AccessibilityObject):
    * accessibility/AccessibilityProgressIndicator.cpp:
    (WebCore::AccessibilityProgressIndicator::computeAccessibilityIsIgnored):
    * accessibility/AccessibilityRenderObject.cpp:
    (WebCore):
    (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase):
    (WebCore::AccessibilityRenderObject::addImageMapChildren):
    * accessibility/AccessibilityRenderObject.h:
    (AccessibilityRenderObject):
    * accessibility/AccessibilityScrollbar.h:
    (AccessibilityScrollbar):
    * accessibility/AccessibilitySlider.cpp:
    (WebCore):
    (WebCore::AccessibilitySliderThumb::computeAccessibilityIsIgnored):
    * accessibility/AccessibilitySlider.h:
    (AccessibilitySlider):
    * accessibility/AccessibilitySpinButton.h:
    (WebCore::AccessibilitySpinButton::roleValue):
    (AccessibilitySpinButtonPart):
    
    LayoutTests:
    
    * accessibility/aria-hidden-hides-all-elements-expected.txt: Added.
    * accessibility/aria-hidden-hides-all-elements.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145988 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    a9eba455