Index: third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp |
diff --git a/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp |
index 236cd2a75507caac6b60a0d39cdfb15fc718853a..ba5fefbb28f359c9e93255d22fc3a765c3088893 100644 |
--- a/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp |
+++ b/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp |
@@ -1047,14 +1047,26 @@ bool AXNodeObject::IsMeter() const { |
} |
bool AXNodeObject::IsMultiSelectable() const { |
- bool multiselectable = false; |
- if (HasAOMPropertyOrARIAAttribute(AOMBooleanProperty::kMultiselectable, |
- multiselectable)) { |
- return multiselectable; |
+ switch (RoleValue()) { |
+ case kGridRole: |
+ case kTreeGridRole: |
+ case kTreeRole: |
+ case kListBoxRole: |
+ case kTabListRole: { |
+ bool multiselectable = false; |
+ if (HasAOMPropertyOrARIAAttribute(AOMBooleanProperty::kMultiselectable, |
+ multiselectable)) { |
+ return multiselectable; |
+ } |
+ |
+ return isHTMLSelectElement(GetNode()) && |
dmazzoni
2017/05/19 19:40:56
I'm not sure this covers all of the possible roles
|
+ toHTMLSelectElement(*GetNode()).IsMultiple(); |
+ } |
+ default: |
+ break; |
} |
- return isHTMLSelectElement(GetNode()) && |
- toHTMLSelectElement(*GetNode()).IsMultiple(); |
+ return false; |
} |
bool AXNodeObject::IsNativeCheckboxOrRadio() const { |