| Index: content/browser/accessibility/browser_accessibility.cc
|
| diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc
|
| index e3bef4e78b2851bb482ca6494fc5126cffdb624a..4afad6bfe73d80ba0d0fd2bf9a450dd19c6eb8d9 100644
|
| --- a/content/browser/accessibility/browser_accessibility.cc
|
| +++ b/content/browser/accessibility/browser_accessibility.cc
|
| @@ -451,10 +451,7 @@
|
|
|
| base::string16 BrowserAccessibility::GetValue() const {
|
| base::string16 value = GetString16Attribute(ui::AX_ATTR_VALUE);
|
| - // Some screen readers like Jaws and older versions of VoiceOver require a
|
| - // value to be set in text fields with rich content, even though the same
|
| - // information is available on the children.
|
| - if (value.empty() && (IsSimpleTextControl() || IsRichTextControl()))
|
| + if (value.empty() && IsSimpleTextControl())
|
| value = GetInnerText();
|
| return value;
|
| }
|
| @@ -832,7 +829,9 @@
|
| }
|
|
|
| bool BrowserAccessibility::HasCaret() const {
|
| - if (IsSimpleTextControl() && HasIntAttribute(ui::AX_ATTR_TEXT_SEL_START) &&
|
| + if (HasState(ui::AX_STATE_EDITABLE) &&
|
| + !HasState(ui::AX_STATE_RICHLY_EDITABLE) &&
|
| + HasIntAttribute(ui::AX_ATTR_TEXT_SEL_START) &&
|
| HasIntAttribute(ui::AX_ATTR_TEXT_SEL_END)) {
|
| return true;
|
| }
|
| @@ -940,9 +939,8 @@
|
| switch (GetRole()) {
|
| case ui::AX_ROLE_COMBO_BOX:
|
| case ui::AX_ROLE_SEARCH_BOX:
|
| + case ui::AX_ROLE_TEXT_FIELD:
|
| return true;
|
| - case ui::AX_ROLE_TEXT_FIELD:
|
| - return !HasState(ui::AX_STATE_RICHLY_EDITABLE);
|
| default:
|
| return false;
|
| }
|
|
|