| Index: content/browser/accessibility/browser_accessibility_android.cc
 | 
| diff --git a/content/browser/accessibility/browser_accessibility_android.cc b/content/browser/accessibility/browser_accessibility_android.cc
 | 
| index dd1511d58de3308a89c7205f89997b717e649211..4ff8cfe27cf8e038bc9d903b758fabd3f0863fd5 100644
 | 
| --- a/content/browser/accessibility/browser_accessibility_android.cc
 | 
| +++ b/content/browser/accessibility/browser_accessibility_android.cc
 | 
| @@ -280,10 +280,21 @@ base::string16 BrowserAccessibilityAndroid::GetText() const {
 | 
|    // See comment in browser_accessibility_win.cc for details.
 | 
|    // The difference here is that we can only expose one accessible
 | 
|    // name on Android, not 2 or 3 like on Windows or Mac.
 | 
| -  //
 | 
| -  // The basic rule is: prefer description (aria-labelledby or aria-label),
 | 
| -  // then help (title), then name (inner text), then value (control value).
 | 
| -  // However, if title_elem_id is set, that means there's a label element
 | 
| +
 | 
| +  // First, always return the |value| attribute if this is an
 | 
| +  // accessible text.
 | 
| +  if (!value().empty() &&
 | 
| +      (GetRole() == ui::AX_ROLE_EDITABLE_TEXT ||
 | 
| +       GetRole() == ui::AX_ROLE_TEXT_AREA ||
 | 
| +       GetRole() == ui::AX_ROLE_TEXT_FIELD ||
 | 
| +       HasState(ui::AX_STATE_EDITABLE))) {
 | 
| +    return base::UTF8ToUTF16(value());
 | 
| +  }
 | 
| +
 | 
| +  // If there's no text value, the basic rule is: prefer description
 | 
| +  // (aria-labelledby or aria-label), then help (title), then name
 | 
| +  // (inner text), then value (control value).  However, if
 | 
| +  // title_elem_id is set, that means there's a label element
 | 
|    // supplying the name and then name takes precedence over help.
 | 
|    // TODO(dmazzoni): clean this up by providing more granular labels in
 | 
|    // Blink, making the platform-specific mapping to accessible text simpler.
 | 
| 
 |