| Index: Source/core/accessibility/AXRenderObject.cpp
|
| diff --git a/Source/core/accessibility/AXRenderObject.cpp b/Source/core/accessibility/AXRenderObject.cpp
|
| index b66468d79180da9832394543b082c7a59fa4e3bb..63de5bcebab447585c8d6751c89442af8aca2a92 100644
|
| --- a/Source/core/accessibility/AXRenderObject.cpp
|
| +++ b/Source/core/accessibility/AXRenderObject.cpp
|
| @@ -314,12 +314,14 @@ AccessibilityRole AXRenderObject::determineAccessibilityRole()
|
| HTMLInputElement& input = toHTMLInputElement(*node);
|
| const AtomicString& type = input.type();
|
| if (type == InputTypeNames::button) {
|
| - if ((node->parentNode() && isHTMLMenuElement(node->parentNode())) || (parentObject() && parentObject()->roleValue() == MenuRole))
|
| + if ((node->parentNode() && isHTMLMenuElement(node->parentNode())) || (parentObject() && parentObject()->ariaRoleAttribute() == MenuRole))
|
| return MenuItemRole;
|
| + if (parentObject() && parentObject()->ariaRoleAttribute() == GroupRole)
|
| + return MenuButtonRole;
|
| return buttonRoleType();
|
| }
|
| if (type == InputTypeNames::checkbox) {
|
| - if ((node->parentNode() && isHTMLMenuElement(node->parentNode())) || (parentObject() && parentObject()->roleValue() == MenuRole))
|
| + if ((node->parentNode() && isHTMLMenuElement(node->parentNode())) || (parentObject() && parentObject()->ariaRoleAttribute() == MenuRole))
|
| return MenuItemCheckBoxRole;
|
| return CheckBoxRole;
|
| }
|
| @@ -331,7 +333,7 @@ AccessibilityRole AXRenderObject::determineAccessibilityRole()
|
| || type == InputTypeNames::week)
|
| return DateTimeRole;
|
| if (type == InputTypeNames::radio) {
|
| - if ((node->parentNode() && isHTMLMenuElement(node->parentNode())) || (parentObject() && parentObject()->roleValue() == MenuRole))
|
| + if ((node->parentNode() && isHTMLMenuElement(node->parentNode())) || (parentObject() && parentObject()->ariaRoleAttribute() == MenuRole))
|
| return MenuItemRadioRole;
|
| return RadioButtonRole;
|
| }
|
|
|