Index: Source/modules/accessibility/AXNodeObject.cpp |
diff --git a/Source/modules/accessibility/AXNodeObject.cpp b/Source/modules/accessibility/AXNodeObject.cpp |
index 151bb67176eda090b410c3d42c3c3fd1d72b8158..95e3aad7f3a155e23432d2e12d51f9a0bde6a761 100644 |
--- a/Source/modules/accessibility/AXNodeObject.cpp |
+++ b/Source/modules/accessibility/AXNodeObject.cpp |
@@ -755,9 +755,10 @@ bool AXNodeObject::isPressed() const |
if (!node) |
return false; |
- // If this is an ARIA button, check the aria-pressed attribute rather than node()->active() |
- if (ariaRoleAttribute() == ButtonRole) { |
- if (equalIgnoringCase(getAttribute(aria_pressedAttr), "true")) |
+ // ARIA button with aria-pressed not undefined, then check for aria-pressed attribute rather than node()->active() |
+ if (ariaRoleAttribute() == ToggleButtonRole) { |
+ if (equalIgnoringCase(getAttribute(aria_pressedAttr), "true") |
+ || equalIgnoringCase(getAttribute(aria_pressedAttr), "mixed")) |
return true; |
return false; |
} |