Index: Source/core/accessibility/AXNodeObject.cpp |
diff --git a/Source/core/accessibility/AXNodeObject.cpp b/Source/core/accessibility/AXNodeObject.cpp |
index 34c1230cd4d494dc4864058f43f7edffccbb22fe..d4ca27ffafd40b49fb565e4aff943d8422bf51b8 100644 |
--- a/Source/core/accessibility/AXNodeObject.cpp |
+++ b/Source/core/accessibility/AXNodeObject.cpp |
@@ -202,8 +202,16 @@ AccessibilityRole AXNodeObject::determineAccessibilityRole() |
if (isHTMLInputElement(*node())) { |
HTMLInputElement& input = toHTMLInputElement(*node()); |
const AtomicString& type = input.type(); |
- if (type == InputTypeNames::checkbox) |
+ if (type == InputTypeNames::button) { |
+ if (node()->parentNode() && isHTMLMenuElement(node()->parentNode())) |
+ return MenuItemRole; |
+ return buttonRoleType(); |
+ } |
+ if (type == InputTypeNames::checkbox) { |
+ if (node()->parentNode() && isHTMLMenuElement(node()->parentNode())) |
+ return CheckBoxMenuItemRole; |
return CheckBoxRole; |
+ } |
if (type == InputTypeNames::radio) |
return RadioButtonRole; |
if (input.isTextButton()) |