| 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;
|
| }
|
|
|
|
|