AX: aria-hidden on container does not hide descendant popup buttons
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: https://svn.webkit.org/repository/webkit/trunk@145988
268f45cc-cd09-0410-ab3c-
d52691b4dbfc