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/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 3843 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3854 case ui::AX_ROLE_IMAGE_MAP_LINK: | 3854 case ui::AX_ROLE_IMAGE_MAP_LINK: |
3855 ia_role = ROLE_SYSTEM_LINK; | 3855 ia_role = ROLE_SYSTEM_LINK; |
3856 ia_state |= STATE_SYSTEM_LINKED; | 3856 ia_state |= STATE_SYSTEM_LINKED; |
3857 ia_state |= STATE_SYSTEM_READONLY; | 3857 ia_state |= STATE_SYSTEM_READONLY; |
3858 break; | 3858 break; |
3859 case ui::AX_ROLE_LABEL_TEXT: | 3859 case ui::AX_ROLE_LABEL_TEXT: |
3860 case ui::AX_ROLE_LEGEND: | 3860 case ui::AX_ROLE_LEGEND: |
3861 ia_role = ROLE_SYSTEM_TEXT; | 3861 ia_role = ROLE_SYSTEM_TEXT; |
3862 ia2_role = IA2_ROLE_LABEL; | 3862 ia2_role = IA2_ROLE_LABEL; |
3863 break; | 3863 break; |
3864 case ui::AX_ROLE_SEARCH: | |
3865 ia_role = ROLE_SYSTEM_GROUPING; | |
3866 ia2_role = IA2_ROLE_SECTION; | |
3867 break; | |
3868 case ui::AX_ROLE_LINK: | 3864 case ui::AX_ROLE_LINK: |
3869 ia_role = ROLE_SYSTEM_LINK; | 3865 ia_role = ROLE_SYSTEM_LINK; |
3870 ia_state |= STATE_SYSTEM_LINKED; | 3866 ia_state |= STATE_SYSTEM_LINKED; |
3871 break; | 3867 break; |
3872 case ui::AX_ROLE_LIST: | 3868 case ui::AX_ROLE_LIST: |
3873 ia_role = ROLE_SYSTEM_LIST; | 3869 ia_role = ROLE_SYSTEM_LIST; |
3874 ia_state |= STATE_SYSTEM_READONLY; | 3870 ia_state |= STATE_SYSTEM_READONLY; |
3875 break; | 3871 break; |
3876 case ui::AX_ROLE_LIST_BOX: | 3872 case ui::AX_ROLE_LIST_BOX: |
3877 ia_role = ROLE_SYSTEM_LIST; | 3873 ia_role = ROLE_SYSTEM_LIST; |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3995 break; | 3991 break; |
3996 case ui::AX_ROLE_SCROLL_AREA: | 3992 case ui::AX_ROLE_SCROLL_AREA: |
3997 ia_role = ROLE_SYSTEM_CLIENT; | 3993 ia_role = ROLE_SYSTEM_CLIENT; |
3998 ia2_role = IA2_ROLE_SCROLL_PANE; | 3994 ia2_role = IA2_ROLE_SCROLL_PANE; |
3999 ia_state |= STATE_SYSTEM_READONLY; | 3995 ia_state |= STATE_SYSTEM_READONLY; |
4000 ia2_state &= ~(IA2_STATE_EDITABLE); | 3996 ia2_state &= ~(IA2_STATE_EDITABLE); |
4001 break; | 3997 break; |
4002 case ui::AX_ROLE_SCROLL_BAR: | 3998 case ui::AX_ROLE_SCROLL_BAR: |
4003 ia_role = ROLE_SYSTEM_SCROLLBAR; | 3999 ia_role = ROLE_SYSTEM_SCROLLBAR; |
4004 break; | 4000 break; |
| 4001 case ui::AX_ROLE_SEARCH: |
| 4002 ia_role = ROLE_SYSTEM_GROUPING; |
| 4003 ia2_role = IA2_ROLE_SECTION; |
| 4004 break; |
4005 case ui::AX_ROLE_SLIDER: | 4005 case ui::AX_ROLE_SLIDER: |
4006 ia_role = ROLE_SYSTEM_SLIDER; | 4006 ia_role = ROLE_SYSTEM_SLIDER; |
4007 break; | 4007 break; |
4008 case ui::AX_ROLE_SPIN_BUTTON: | 4008 case ui::AX_ROLE_SPIN_BUTTON: |
4009 ia_role = ROLE_SYSTEM_SPINBUTTON; | 4009 ia_role = ROLE_SYSTEM_SPINBUTTON; |
4010 break; | 4010 break; |
4011 case ui::AX_ROLE_SPIN_BUTTON_PART: | 4011 case ui::AX_ROLE_SPIN_BUTTON_PART: |
4012 ia_role = ROLE_SYSTEM_PUSHBUTTON; | 4012 ia_role = ROLE_SYSTEM_PUSHBUTTON; |
4013 break; | 4013 break; |
4014 case ui::AX_ROLE_ANNOTATION: | 4014 case ui::AX_ROLE_ANNOTATION: |
4015 case ui::AX_ROLE_LIST_MARKER: | 4015 case ui::AX_ROLE_LIST_MARKER: |
4016 case ui::AX_ROLE_STATIC_TEXT: | 4016 case ui::AX_ROLE_STATIC_TEXT: |
4017 ia_role = ROLE_SYSTEM_STATICTEXT; | 4017 ia_role = ROLE_SYSTEM_STATICTEXT; |
4018 break; | 4018 break; |
4019 case ui::AX_ROLE_STATUS: | 4019 case ui::AX_ROLE_STATUS: |
4020 ia_role = ROLE_SYSTEM_STATUSBAR; | 4020 ia_role = ROLE_SYSTEM_STATUSBAR; |
4021 break; | 4021 break; |
4022 case ui::AX_ROLE_SPLITTER: | 4022 case ui::AX_ROLE_SPLITTER: |
4023 ia_role = ROLE_SYSTEM_SEPARATOR; | 4023 ia_role = ROLE_SYSTEM_SEPARATOR; |
4024 break; | 4024 break; |
4025 case ui::AX_ROLE_SVG_ROOT: | 4025 case ui::AX_ROLE_SVG_ROOT: |
4026 ia_role = ROLE_SYSTEM_GRAPHIC; | 4026 ia_role = ROLE_SYSTEM_GRAPHIC; |
4027 break; | 4027 break; |
| 4028 case ui::AX_ROLE_SWITCH: |
| 4029 role_name = L"switch"; |
| 4030 ia2_role = IA2_ROLE_TOGGLE_BUTTON; |
| 4031 break; |
4028 case ui::AX_ROLE_TAB: | 4032 case ui::AX_ROLE_TAB: |
4029 ia_role = ROLE_SYSTEM_PAGETAB; | 4033 ia_role = ROLE_SYSTEM_PAGETAB; |
4030 break; | 4034 break; |
4031 case ui::AX_ROLE_TABLE: { | 4035 case ui::AX_ROLE_TABLE: { |
4032 base::string16 aria_role = GetString16Attribute( | 4036 base::string16 aria_role = GetString16Attribute( |
4033 ui::AX_ATTR_ROLE); | 4037 ui::AX_ATTR_ROLE); |
4034 if (aria_role == L"treegrid") { | 4038 if (aria_role == L"treegrid") { |
4035 ia_role = ROLE_SYSTEM_OUTLINE; | 4039 ia_role = ROLE_SYSTEM_OUTLINE; |
4036 } else { | 4040 } else { |
4037 ia_role = ROLE_SYSTEM_TABLE; | 4041 ia_role = ROLE_SYSTEM_TABLE; |
(...skipping 15 matching lines...) Expand all Loading... |
4053 ia_role = ROLE_SYSTEM_PUSHBUTTON; | 4057 ia_role = ROLE_SYSTEM_PUSHBUTTON; |
4054 ia2_role = IA2_ROLE_TOGGLE_BUTTON; | 4058 ia2_role = IA2_ROLE_TOGGLE_BUTTON; |
4055 break; | 4059 break; |
4056 case ui::AX_ROLE_TEXT_AREA: | 4060 case ui::AX_ROLE_TEXT_AREA: |
4057 ia_role = ROLE_SYSTEM_TEXT; | 4061 ia_role = ROLE_SYSTEM_TEXT; |
4058 ia2_state |= IA2_STATE_MULTI_LINE; | 4062 ia2_state |= IA2_STATE_MULTI_LINE; |
4059 ia2_state |= IA2_STATE_EDITABLE; | 4063 ia2_state |= IA2_STATE_EDITABLE; |
4060 ia2_state |= IA2_STATE_SELECTABLE_TEXT; | 4064 ia2_state |= IA2_STATE_SELECTABLE_TEXT; |
4061 break; | 4065 break; |
4062 case ui::AX_ROLE_TEXT_FIELD: | 4066 case ui::AX_ROLE_TEXT_FIELD: |
| 4067 case ui::AX_ROLE_SEARCH_BOX: |
4063 ia_role = ROLE_SYSTEM_TEXT; | 4068 ia_role = ROLE_SYSTEM_TEXT; |
4064 ia2_state |= IA2_STATE_SINGLE_LINE; | 4069 ia2_state |= IA2_STATE_SINGLE_LINE; |
4065 ia2_state |= IA2_STATE_EDITABLE; | 4070 ia2_state |= IA2_STATE_EDITABLE; |
4066 ia2_state |= IA2_STATE_SELECTABLE_TEXT; | 4071 ia2_state |= IA2_STATE_SELECTABLE_TEXT; |
4067 break; | 4072 break; |
4068 case ui::AX_ROLE_TIME: | 4073 case ui::AX_ROLE_TIME: |
4069 ia_role = ROLE_SYSTEM_SPINBUTTON; | 4074 ia_role = ROLE_SYSTEM_SPINBUTTON; |
4070 break; | 4075 break; |
4071 case ui::AX_ROLE_TIMER: | 4076 case ui::AX_ROLE_TIMER: |
4072 ia_role = ROLE_SYSTEM_CLOCK; | 4077 ia_role = ROLE_SYSTEM_CLOCK; |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4132 ia2_role = ia_role; | 4137 ia2_role = ia_role; |
4133 | 4138 |
4134 win_attributes_->ia_role = ia_role; | 4139 win_attributes_->ia_role = ia_role; |
4135 win_attributes_->ia_state = ia_state; | 4140 win_attributes_->ia_state = ia_state; |
4136 win_attributes_->role_name = role_name; | 4141 win_attributes_->role_name = role_name; |
4137 win_attributes_->ia2_role = ia2_role; | 4142 win_attributes_->ia2_role = ia2_role; |
4138 win_attributes_->ia2_state = ia2_state; | 4143 win_attributes_->ia2_state = ia2_state; |
4139 } | 4144 } |
4140 | 4145 |
4141 } // namespace content | 4146 } // namespace content |
OLD | NEW |