Index: Source/modules/accessibility/AXObject.cpp |
diff --git a/Source/modules/accessibility/AXObject.cpp b/Source/modules/accessibility/AXObject.cpp |
index e0780f59e949c68ac535494128bd9b6639e7331b..7264084d6244957d2b491cb92e1da4e7182f268f 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 }, |
@@ -262,7 +263,7 @@ |
bool AXObject::isARIATextControl() const |
{ |
- return ariaRoleAttribute() == TextFieldRole || ariaRoleAttribute() == SearchBoxRole; |
+ return ariaRoleAttribute() == TextAreaRole || ariaRoleAttribute() == TextFieldRole || ariaRoleAttribute() == SearchBoxRole; |
} |
bool AXObject::isButton() const |
@@ -319,6 +320,7 @@ |
bool AXObject::isTextControl() const |
{ |
switch (roleValue()) { |
+ case TextAreaRole: |
case TextFieldRole: |
case ComboBoxRole: |
case SearchBoxRole: |
@@ -343,6 +345,7 @@ |
case RadioButtonRole: |
case SpinButtonRole: |
case TabRole: |
+ case TextAreaRole: |
case TextFieldRole: |
case ToggleButtonRole: |
return true; |
@@ -501,6 +504,7 @@ |
case ToggleButtonRole: |
return queryString(WebLocalizedString::AXButtonActionVerb); |
case TextFieldRole: |
+ case TextAreaRole: |
return queryString(WebLocalizedString::AXTextFieldActionVerb); |
case RadioButtonRole: |
return queryString(WebLocalizedString::AXRadioButtonActionVerb); |
@@ -538,21 +542,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"); |
} |
@@ -1069,7 +1060,7 @@ |
bool AXObject::isARIAControl(AccessibilityRole ariaRole) |
{ |
- return isARIAInput(ariaRole) || ariaRole == ButtonRole |
+ return isARIAInput(ariaRole) || ariaRole == TextAreaRole || ariaRole == ButtonRole |
|| ariaRole == ComboBoxRole || ariaRole == SliderRole; |
} |