Index: Source/modules/accessibility/AXNodeObject.cpp |
diff --git a/Source/modules/accessibility/AXNodeObject.cpp b/Source/modules/accessibility/AXNodeObject.cpp |
index 5a998fd842f984d13b6607d072c03ebc4643a854..b42e4fe7756026f856b1ff89f46e858638befd58 100644 |
--- a/Source/modules/accessibility/AXNodeObject.cpp |
+++ b/Source/modules/accessibility/AXNodeObject.cpp |
@@ -245,7 +245,7 @@ |
return selectElement.multiple() ? ListBoxRole : PopUpButtonRole; |
} |
if (isHTMLTextAreaElement(*node())) |
- return TextFieldRole; |
+ return TextAreaRole; |
if (headingLevel()) |
return HeadingRole; |
if (isHTMLDivElement(*node())) |
@@ -312,6 +312,9 @@ |
if (role == ButtonRole) |
role = buttonRoleType(); |
+ if (role == TextAreaRole && !ariaIsMultiline()) |
+ role = TextFieldRole; |
+ |
role = remapAriaRoleDueToParent(role); |
if (role) |
@@ -666,7 +669,7 @@ |
return false; |
AccessibilityRole ariaRole = ariaRoleAttribute(); |
- if (ariaRole != TextFieldRole) |
+ if (ariaRole != TextFieldRole && ariaRole != TextAreaRole) |
return false; |
return toHTMLInputElement(node)->type() == InputTypeNames::password; |
@@ -956,7 +959,7 @@ |
String AXNodeObject::ariaAutoComplete() const |
{ |
- if (roleValue() != ComboBoxRole) |
+ if (roleValue() != ComboBoxRole && roleValue() != TextAreaRole) |
return String(); |
const AtomicString& ariaAutoComplete = getAttribute(aria_autocompleteAttr).lower(); |