| Index: Source/core/accessibility/AXObject.cpp
|
| diff --git a/Source/core/accessibility/AXObject.cpp b/Source/core/accessibility/AXObject.cpp
|
| index 074c7a6c3fcc18cc179b4807dbaef8fc0dcf1f5c..a96bfc7975110cf658f7e7fc2a70b4ee692568f4 100644
|
| --- a/Source/core/accessibility/AXObject.cpp
|
| +++ b/Source/core/accessibility/AXObject.cpp
|
| @@ -278,7 +278,7 @@ AXObjectInclusion AXObject::accessibilityPlatformIncludesObject() const
|
|
|
| AXObjectInclusion AXObject::defaultObjectInclusion() const
|
| {
|
| - if (ariaIsHidden())
|
| + if (isInertOrAriaHidden())
|
| return IgnoreObject;
|
|
|
| if (isPresentationalChildOfAriaRole())
|
| @@ -287,6 +287,21 @@ AXObjectInclusion AXObject::defaultObjectInclusion() const
|
| return accessibilityPlatformIncludesObject();
|
| }
|
|
|
| +bool AXObject::isInertOrAriaHidden() const
|
| +{
|
| + if (equalIgnoringCase(getAttribute(aria_hiddenAttr), "true"))
|
| + return true;
|
| + if (node() && node()->isInert())
|
| + return true;
|
| +
|
| + for (AXObject* object = parentObject(); object; object = object->parentObject()) {
|
| + if (equalIgnoringCase(object->getAttribute(aria_hiddenAttr), "true"))
|
| + return true;
|
| + }
|
| +
|
| + return false;
|
| +}
|
| +
|
| bool AXObject::lastKnownIsIgnoredValue()
|
| {
|
| if (m_lastKnownIsIgnoredValue == DefaultBehavior)
|
| @@ -896,17 +911,4 @@ AccessibilityRole AXObject::buttonRoleType() const
|
| return ButtonRole;
|
| }
|
|
|
| -bool AXObject::ariaIsHidden() const
|
| -{
|
| - if (equalIgnoringCase(getAttribute(aria_hiddenAttr), "true"))
|
| - return true;
|
| -
|
| - for (AXObject* object = parentObject(); object; object = object->parentObject()) {
|
| - if (equalIgnoringCase(object->getAttribute(aria_hiddenAttr), "true"))
|
| - return true;
|
| - }
|
| -
|
| - return false;
|
| -}
|
| -
|
| } // namespace WebCore
|
|
|