OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_android.h" | 5 #include "content/browser/accessibility/browser_accessibility_android.h" |
6 | 6 |
7 #include "base/i18n/break_iterator.h" | 7 #include "base/i18n/break_iterator.h" |
8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
167 if (IsIframe() || (GetRole() == ui::AX_ROLE_ROOT_WEB_AREA)) | 167 if (IsIframe() || (GetRole() == ui::AX_ROLE_ROOT_WEB_AREA)) |
168 return false; | 168 return false; |
169 return IsFocusable(); | 169 return IsFocusable(); |
170 } | 170 } |
171 | 171 |
172 bool BrowserAccessibilityAndroid::IsCollapsed() const { | 172 bool BrowserAccessibilityAndroid::IsCollapsed() const { |
173 return HasState(ui::AX_STATE_COLLAPSED); | 173 return HasState(ui::AX_STATE_COLLAPSED); |
174 } | 174 } |
175 | 175 |
176 bool BrowserAccessibilityAndroid::IsCollection() const { | 176 bool BrowserAccessibilityAndroid::IsCollection() const { |
177 return (GetRole() == ui::AX_ROLE_GRID || | 177 return (IsTableOrGridOrTreeGridRole() || GetRole() == ui::AX_ROLE_LIST || |
dmazzoni
2017/04/18 21:59:38
Maybe IsTableLikeRole?
aleventhal
2017/04/19 20:24:02
Done.
| |
178 GetRole() == ui::AX_ROLE_LIST || | |
179 GetRole() == ui::AX_ROLE_LIST_BOX || | 178 GetRole() == ui::AX_ROLE_LIST_BOX || |
180 GetRole() == ui::AX_ROLE_DESCRIPTION_LIST || | 179 GetRole() == ui::AX_ROLE_DESCRIPTION_LIST || |
181 GetRole() == ui::AX_ROLE_TABLE || | |
182 GetRole() == ui::AX_ROLE_TREE); | 180 GetRole() == ui::AX_ROLE_TREE); |
183 } | 181 } |
184 | 182 |
185 bool BrowserAccessibilityAndroid::IsCollectionItem() const { | 183 bool BrowserAccessibilityAndroid::IsCollectionItem() const { |
186 return (GetRole() == ui::AX_ROLE_CELL || | 184 return (GetRole() == ui::AX_ROLE_CELL || |
187 GetRole() == ui::AX_ROLE_COLUMN_HEADER || | 185 GetRole() == ui::AX_ROLE_COLUMN_HEADER || |
188 GetRole() == ui::AX_ROLE_DESCRIPTION_LIST_TERM || | 186 GetRole() == ui::AX_ROLE_DESCRIPTION_LIST_TERM || |
189 GetRole() == ui::AX_ROLE_LIST_BOX_OPTION || | 187 GetRole() == ui::AX_ROLE_LIST_BOX_OPTION || |
190 GetRole() == ui::AX_ROLE_LIST_ITEM || | 188 GetRole() == ui::AX_ROLE_LIST_ITEM || |
191 GetRole() == ui::AX_ROLE_ROW_HEADER || | 189 GetRole() == ui::AX_ROLE_ROW_HEADER || |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
368 class_name = ui::kAXImageClassname; | 366 class_name = ui::kAXImageClassname; |
369 break; | 367 break; |
370 case ui::AX_ROLE_METER: | 368 case ui::AX_ROLE_METER: |
371 case ui::AX_ROLE_PROGRESS_INDICATOR: | 369 case ui::AX_ROLE_PROGRESS_INDICATOR: |
372 class_name = ui::kAXProgressBarClassname; | 370 class_name = ui::kAXProgressBarClassname; |
373 break; | 371 break; |
374 case ui::AX_ROLE_TAB_LIST: | 372 case ui::AX_ROLE_TAB_LIST: |
375 class_name = ui::kAXTabWidgetClassname; | 373 class_name = ui::kAXTabWidgetClassname; |
376 break; | 374 break; |
377 case ui::AX_ROLE_GRID: | 375 case ui::AX_ROLE_GRID: |
376 case ui::AX_ROLE_TREE_GRID: | |
378 case ui::AX_ROLE_TABLE: | 377 case ui::AX_ROLE_TABLE: |
379 class_name = ui::kAXGridViewClassname; | 378 class_name = ui::kAXGridViewClassname; |
380 break; | 379 break; |
381 case ui::AX_ROLE_LIST: | 380 case ui::AX_ROLE_LIST: |
382 case ui::AX_ROLE_LIST_BOX: | 381 case ui::AX_ROLE_LIST_BOX: |
383 case ui::AX_ROLE_DESCRIPTION_LIST: | 382 case ui::AX_ROLE_DESCRIPTION_LIST: |
384 class_name = ui::kAXListViewClassname; | 383 class_name = ui::kAXListViewClassname; |
385 break; | 384 break; |
386 case ui::AX_ROLE_DIALOG: | 385 case ui::AX_ROLE_DIALOG: |
387 class_name = ui::kAXDialogClassname; | 386 class_name = ui::kAXDialogClassname; |
(...skipping 851 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1239 else if (live == "assertive") | 1238 else if (live == "assertive") |
1240 return ANDROID_VIEW_VIEW_ACCESSIBILITY_LIVE_REGION_ASSERTIVE; | 1239 return ANDROID_VIEW_VIEW_ACCESSIBILITY_LIVE_REGION_ASSERTIVE; |
1241 return ANDROID_VIEW_VIEW_ACCESSIBILITY_LIVE_REGION_NONE; | 1240 return ANDROID_VIEW_VIEW_ACCESSIBILITY_LIVE_REGION_NONE; |
1242 } | 1241 } |
1243 | 1242 |
1244 int BrowserAccessibilityAndroid::AndroidRangeType() const { | 1243 int BrowserAccessibilityAndroid::AndroidRangeType() const { |
1245 return ANDROID_VIEW_ACCESSIBILITY_RANGE_TYPE_FLOAT; | 1244 return ANDROID_VIEW_ACCESSIBILITY_RANGE_TYPE_FLOAT; |
1246 } | 1245 } |
1247 | 1246 |
1248 int BrowserAccessibilityAndroid::RowCount() const { | 1247 int BrowserAccessibilityAndroid::RowCount() const { |
1249 if (GetRole() == ui::AX_ROLE_GRID || | 1248 if (IsTableOrGridOrTreeGridRole()) { |
1250 GetRole() == ui::AX_ROLE_TABLE) { | |
1251 return CountChildrenWithRole(ui::AX_ROLE_ROW); | 1249 return CountChildrenWithRole(ui::AX_ROLE_ROW); |
1252 } | 1250 } |
1253 | 1251 |
1254 if (GetRole() == ui::AX_ROLE_LIST || | 1252 if (GetRole() == ui::AX_ROLE_LIST || |
1255 GetRole() == ui::AX_ROLE_LIST_BOX || | 1253 GetRole() == ui::AX_ROLE_LIST_BOX || |
1256 GetRole() == ui::AX_ROLE_DESCRIPTION_LIST || | 1254 GetRole() == ui::AX_ROLE_DESCRIPTION_LIST || |
1257 GetRole() == ui::AX_ROLE_TREE) { | 1255 GetRole() == ui::AX_ROLE_TREE) { |
1258 return PlatformChildCount(); | 1256 return PlatformChildCount(); |
1259 } | 1257 } |
1260 | 1258 |
1261 return 0; | 1259 return 0; |
1262 } | 1260 } |
1263 | 1261 |
1264 int BrowserAccessibilityAndroid::ColumnCount() const { | 1262 int BrowserAccessibilityAndroid::ColumnCount() const { |
1265 if (GetRole() == ui::AX_ROLE_GRID || | 1263 if (IsTableOrGridOrTreeGridRole()) { |
1266 GetRole() == ui::AX_ROLE_TABLE) { | |
1267 return CountChildrenWithRole(ui::AX_ROLE_COLUMN); | 1264 return CountChildrenWithRole(ui::AX_ROLE_COLUMN); |
1268 } | 1265 } |
1269 return 0; | 1266 return 0; |
1270 } | 1267 } |
1271 | 1268 |
1272 int BrowserAccessibilityAndroid::RowIndex() const { | 1269 int BrowserAccessibilityAndroid::RowIndex() const { |
1273 if (GetRole() == ui::AX_ROLE_LIST_ITEM || | 1270 if (GetRole() == ui::AX_ROLE_LIST_ITEM || |
1274 GetRole() == ui::AX_ROLE_LIST_BOX_OPTION || | 1271 GetRole() == ui::AX_ROLE_LIST_BOX_OPTION || |
1275 GetRole() == ui::AX_ROLE_TREE_ITEM) { | 1272 GetRole() == ui::AX_ROLE_TREE_ITEM) { |
1276 return GetIndexInParent(); | 1273 return GetIndexInParent(); |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1507 int BrowserAccessibilityAndroid::CountChildrenWithRole(ui::AXRole role) const { | 1504 int BrowserAccessibilityAndroid::CountChildrenWithRole(ui::AXRole role) const { |
1508 int count = 0; | 1505 int count = 0; |
1509 for (uint32_t i = 0; i < PlatformChildCount(); i++) { | 1506 for (uint32_t i = 0; i < PlatformChildCount(); i++) { |
1510 if (PlatformGetChild(i)->GetRole() == role) | 1507 if (PlatformGetChild(i)->GetRole() == role) |
1511 count++; | 1508 count++; |
1512 } | 1509 } |
1513 return count; | 1510 return count; |
1514 } | 1511 } |
1515 | 1512 |
1516 } // namespace content | 1513 } // namespace content |
OLD | NEW |