| 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();
 | 
| 
 |