Index: Source/modules/accessibility/AXNodeObject.cpp |
diff --git a/Source/modules/accessibility/AXNodeObject.cpp b/Source/modules/accessibility/AXNodeObject.cpp |
index a1f56766d0d975ee78bac70cf5d0f66a1d0dbfa4..ef4467662a54c5653c774fd856b647175cde7b0c 100644 |
--- a/Source/modules/accessibility/AXNodeObject.cpp |
+++ b/Source/modules/accessibility/AXNodeObject.cpp |
@@ -727,8 +727,11 @@ bool AXNodeObject::isClickable() const |
bool AXNodeObject::isEnabled() const |
{ |
- if (equalIgnoringCase(getAttribute(aria_disabledAttr), "true")) |
- return false; |
+ for (AXObject* axObject = const_cast<AXNodeObject*>(this); axObject; axObject = axObject->parentObject()) { |
dmazzoni
2015/03/16 15:45:03
I'm trying to avoid code that iterates over all an
|
+ const AtomicString& disabled = axObject->getAttribute(aria_disabledAttr); |
+ if (equalIgnoringCase(disabled, "true")) |
+ return false; |
+ } |
Node* node = this->node(); |
if (!node || !node->isElementNode()) |