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