Index: Source/modules/accessibility/AXObject.cpp |
diff --git a/Source/modules/accessibility/AXObject.cpp b/Source/modules/accessibility/AXObject.cpp |
index 7c2218da986177a43458fdd20b64c9074186a6b3..90a72e45f9f2a2836ce7cd19e4c349bcaf4e3785 100644 |
--- a/Source/modules/accessibility/AXObject.cpp |
+++ b/Source/modules/accessibility/AXObject.cpp |
@@ -28,6 +28,7 @@ |
#include "config.h" |
#include "modules/accessibility/AXObject.h" |
+ |
#include "core/dom/NodeTraversal.h" |
#include "core/editing/VisibleUnits.h" |
#include "core/editing/htmlediting.h" |
@@ -116,7 +117,7 @@ |
{ "tablist", TabListRole }, |
{ "tabpanel", TabPanelRole }, |
{ "text", StaticTextRole }, |
- { "textbox", TextFieldRole }, |
+ { "textbox", TextAreaRole }, |
{ "timer", TimerRole }, |
{ "toolbar", ToolbarRole }, |
{ "tooltip", UserInterfaceTooltipRole }, |
@@ -261,7 +262,7 @@ |
bool AXObject::isARIATextControl() const |
{ |
- return ariaRoleAttribute() == TextFieldRole || ariaRoleAttribute() == SearchBoxRole; |
+ return ariaRoleAttribute() == TextAreaRole || ariaRoleAttribute() == TextFieldRole || ariaRoleAttribute() == SearchBoxRole; |
} |
bool AXObject::isButton() const |
@@ -318,6 +319,7 @@ |
bool AXObject::isTextControl() const |
{ |
switch (roleValue()) { |
+ case TextAreaRole: |
case TextFieldRole: |
case ComboBoxRole: |
case SearchBoxRole: |
@@ -342,6 +344,7 @@ |
case RadioButtonRole: |
case SpinButtonRole: |
case TabRole: |
+ case TextAreaRole: |
case TextFieldRole: |
case ToggleButtonRole: |
return true; |
@@ -477,6 +480,7 @@ |
case ToggleButtonRole: |
return queryString(WebLocalizedString::AXButtonActionVerb); |
case TextFieldRole: |
+ case TextAreaRole: |
return queryString(WebLocalizedString::AXTextFieldActionVerb); |
case RadioButtonRole: |
return queryString(WebLocalizedString::AXRadioButtonActionVerb); |
@@ -514,21 +518,8 @@ |
return ButtonStateOff; |
} |
-bool AXObject::isMultiline() const |
-{ |
- Node* node = this->node(); |
- if (!node) |
- return false; |
- |
- if (isHTMLTextAreaElement(*node)) |
- return true; |
- |
- if (node->hasEditableStyle()) |
- return true; |
- |
- if (!isNativeTextControl() && !isNonNativeTextControl()) |
- return false; |
- |
+bool AXObject::ariaIsMultiline() const |
+{ |
return equalIgnoringCase(getAttribute(aria_multilineAttr), "true"); |
} |
@@ -1045,7 +1036,7 @@ |
bool AXObject::isARIAControl(AccessibilityRole ariaRole) |
{ |
- return isARIAInput(ariaRole) || ariaRole == ButtonRole |
+ return isARIAInput(ariaRole) || ariaRole == TextAreaRole || ariaRole == ButtonRole |
|| ariaRole == ComboBoxRole || ariaRole == SliderRole; |
} |