| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/accessibility/browser_accessibility_win.h" | 5 #include "content/browser/accessibility/browser_accessibility_win.h" |
| 6 | 6 |
| 7 #include <UIAutomationClient.h> | 7 #include <UIAutomationClient.h> |
| 8 #include <UIAutomationCoreApi.h> | 8 #include <UIAutomationCoreApi.h> |
| 9 | 9 |
| 10 #include "base/string_number_conversions.h" | 10 #include "base/string_number_conversions.h" |
| (...skipping 2769 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2780 HasState(AccessibilityNodeData::STATE_FOCUSABLE) && | 2780 HasState(AccessibilityNodeData::STATE_FOCUSABLE) && |
| 2781 GetHtmlAttribute("placeholder", &placeholder)) { | 2781 GetHtmlAttribute("placeholder", &placeholder)) { |
| 2782 if (name_.empty() && !title_elem_id) { | 2782 if (name_.empty() && !title_elem_id) { |
| 2783 name_ = placeholder; | 2783 name_ = placeholder; |
| 2784 } else if (description.empty()) { | 2784 } else if (description.empty()) { |
| 2785 description = placeholder; | 2785 description = placeholder; |
| 2786 string_attributes_[AccessibilityNodeData::ATTR_DESCRIPTION] = description; | 2786 string_attributes_[AccessibilityNodeData::ATTR_DESCRIPTION] = description; |
| 2787 } | 2787 } |
| 2788 } | 2788 } |
| 2789 | 2789 |
| 2790 // On Windows, the value of a document should be its url. |
| 2791 if (role_ == AccessibilityNodeData::ROLE_ROOT_WEB_AREA || |
| 2792 role_ == AccessibilityNodeData::ROLE_WEB_AREA) { |
| 2793 GetStringAttribute(AccessibilityNodeData::ATTR_DOC_URL, &value_); |
| 2794 } |
| 2795 |
| 2790 // For certain roles (listbox option, static text, and list marker) | 2796 // For certain roles (listbox option, static text, and list marker) |
| 2791 // WebKit stores the main accessible text in the "value" - swap it so | 2797 // WebKit stores the main accessible text in the "value" - swap it so |
| 2792 // that it's the "name". | 2798 // that it's the "name". |
| 2793 if (name_.empty() && | 2799 if (name_.empty() && |
| 2794 (role_ == AccessibilityNodeData::ROLE_LISTBOX_OPTION || | 2800 (role_ == AccessibilityNodeData::ROLE_LISTBOX_OPTION || |
| 2795 role_ == AccessibilityNodeData::ROLE_STATIC_TEXT || | 2801 role_ == AccessibilityNodeData::ROLE_STATIC_TEXT || |
| 2796 role_ == AccessibilityNodeData::ROLE_LIST_MARKER)) { | 2802 role_ == AccessibilityNodeData::ROLE_LIST_MARKER)) { |
| 2797 name_.swap(value_); | 2803 name_.swap(value_); |
| 2798 } | 2804 } |
| 2799 | 2805 |
| (...skipping 711 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3511 // The role should always be set. | 3517 // The role should always be set. |
| 3512 DCHECK(!role_name_.empty() || ia_role_); | 3518 DCHECK(!role_name_.empty() || ia_role_); |
| 3513 | 3519 |
| 3514 // If we didn't explicitly set the IAccessible2 role, make it the same | 3520 // If we didn't explicitly set the IAccessible2 role, make it the same |
| 3515 // as the MSAA role. | 3521 // as the MSAA role. |
| 3516 if (!ia2_role_) | 3522 if (!ia2_role_) |
| 3517 ia2_role_ = ia_role_; | 3523 ia2_role_ = ia_role_; |
| 3518 } | 3524 } |
| 3519 | 3525 |
| 3520 } // namespace content | 3526 } // namespace content |
| OLD | NEW |