Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Side by Side Diff: content/browser/accessibility/browser_accessibility_win.cc

Issue 657513002: HTML Meter tag should have MSAA+IA2 as ROLE_SYSTEM_PROGRESSBAR. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 3434 matching lines...) Expand 10 before | Expand all | Expand 10 after
3445 case ui::AX_ROLE_COMPLEMENTARY: 3445 case ui::AX_ROLE_COMPLEMENTARY:
3446 ia_role_ = ROLE_SYSTEM_GROUPING; 3446 ia_role_ = ROLE_SYSTEM_GROUPING;
3447 ia2_role_ = IA2_ROLE_NOTE; 3447 ia2_role_ = IA2_ROLE_NOTE;
3448 break; 3448 break;
3449 case ui::AX_ROLE_CONTENT_INFO: 3449 case ui::AX_ROLE_CONTENT_INFO:
3450 ia_role_ = ROLE_SYSTEM_TEXT; 3450 ia_role_ = ROLE_SYSTEM_TEXT;
3451 ia2_role_ = IA2_ROLE_PARAGRAPH; 3451 ia2_role_ = IA2_ROLE_PARAGRAPH;
3452 break; 3452 break;
3453 case ui::AX_ROLE_DIV: 3453 case ui::AX_ROLE_DIV:
3454 role_name_ = L"div"; 3454 role_name_ = L"div";
3455 ia_role_ = ROLE_SYSTEM_GROUPING;
3455 ia2_role_ = IA2_ROLE_SECTION; 3456 ia2_role_ = IA2_ROLE_SECTION;
3456 break; 3457 break;
3457 case ui::AX_ROLE_DEFINITION: 3458 case ui::AX_ROLE_DEFINITION:
3458 role_name_ = html_tag; 3459 role_name_ = html_tag;
3459 ia2_role_ = IA2_ROLE_PARAGRAPH; 3460 ia2_role_ = IA2_ROLE_PARAGRAPH;
3460 ia_state_ |= STATE_SYSTEM_READONLY; 3461 ia_state_ |= STATE_SYSTEM_READONLY;
3461 break; 3462 break;
3462 case ui::AX_ROLE_DESCRIPTION_LIST_DETAIL: 3463 case ui::AX_ROLE_DESCRIPTION_LIST_DETAIL:
3463 role_name_ = html_tag; 3464 role_name_ = html_tag;
3464 ia2_role_ = IA2_ROLE_PARAGRAPH; 3465 ia2_role_ = IA2_ROLE_PARAGRAPH;
3465 ia_state_ |= STATE_SYSTEM_READONLY; 3466 ia_state_ |= STATE_SYSTEM_READONLY;
3466 break; 3467 break;
3467 case ui::AX_ROLE_DESCRIPTION_LIST: 3468 case ui::AX_ROLE_DESCRIPTION_LIST:
3468 role_name_ = html_tag; 3469 role_name_ = html_tag;
3469 ia_role_ = ROLE_SYSTEM_LIST; 3470 ia_role_ = ROLE_SYSTEM_LIST;
3470 ia_state_ |= STATE_SYSTEM_READONLY; 3471 ia_state_ |= STATE_SYSTEM_READONLY;
3471 break; 3472 break;
3472 case ui::AX_ROLE_DESCRIPTION_LIST_TERM: 3473 case ui::AX_ROLE_DESCRIPTION_LIST_TERM:
3473 ia_role_ = ROLE_SYSTEM_LISTITEM; 3474 ia_role_ = ROLE_SYSTEM_LISTITEM;
3474 ia_state_ |= STATE_SYSTEM_READONLY; 3475 ia_state_ |= STATE_SYSTEM_READONLY;
3475 break; 3476 break;
3476 case ui::AX_ROLE_DETAILS: 3477 case ui::AX_ROLE_DETAILS:
3478 role_name_ = html_tag;
3477 ia_role_ = ROLE_SYSTEM_GROUPING; 3479 ia_role_ = ROLE_SYSTEM_GROUPING;
3478 break; 3480 break;
3479 case ui::AX_ROLE_DIALOG: 3481 case ui::AX_ROLE_DIALOG:
3480 ia_role_ = ROLE_SYSTEM_DIALOG; 3482 ia_role_ = ROLE_SYSTEM_DIALOG;
3481 ia_state_ |= STATE_SYSTEM_READONLY; 3483 ia_state_ |= STATE_SYSTEM_READONLY;
3482 break; 3484 break;
3483 case ui::AX_ROLE_DISCLOSURE_TRIANGLE: 3485 case ui::AX_ROLE_DISCLOSURE_TRIANGLE:
3484 ia_role_ = ROLE_SYSTEM_PUSHBUTTON; 3486 ia_role_ = ROLE_SYSTEM_PUSHBUTTON;
3485 break; 3487 break;
3486 case ui::AX_ROLE_DOCUMENT: 3488 case ui::AX_ROLE_DOCUMENT:
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
3629 ia_role_ = ROLE_SYSTEM_CLIENT; 3631 ia_role_ = ROLE_SYSTEM_CLIENT;
3630 break; 3632 break;
3631 case ui::AX_ROLE_MENU_LIST_OPTION: 3633 case ui::AX_ROLE_MENU_LIST_OPTION:
3632 ia_role_ = ROLE_SYSTEM_LISTITEM; 3634 ia_role_ = ROLE_SYSTEM_LISTITEM;
3633 if (ia_state_ & STATE_SYSTEM_SELECTABLE) { 3635 if (ia_state_ & STATE_SYSTEM_SELECTABLE) {
3634 ia_state_ |= STATE_SYSTEM_FOCUSABLE; 3636 ia_state_ |= STATE_SYSTEM_FOCUSABLE;
3635 if (HasState(ui::AX_STATE_FOCUSED)) 3637 if (HasState(ui::AX_STATE_FOCUSED))
3636 ia_state_ |= STATE_SYSTEM_FOCUSED; 3638 ia_state_ |= STATE_SYSTEM_FOCUSED;
3637 } 3639 }
3638 break; 3640 break;
3641 case ui::AX_ROLE_METER:
3642 role_name_ = html_tag;
3643 ia_role_ = ROLE_SYSTEM_PROGRESSBAR;
3644 break;
3639 case ui::AX_ROLE_NAVIGATION: 3645 case ui::AX_ROLE_NAVIGATION:
3640 ia_role_ = ROLE_SYSTEM_GROUPING; 3646 ia_role_ = ROLE_SYSTEM_GROUPING;
3641 ia2_role_ = IA2_ROLE_SECTION; 3647 ia2_role_ = IA2_ROLE_SECTION;
3642 break; 3648 break;
3643 case ui::AX_ROLE_NOTE: 3649 case ui::AX_ROLE_NOTE:
3644 ia_role_ = ROLE_SYSTEM_GROUPING; 3650 ia_role_ = ROLE_SYSTEM_GROUPING;
3645 ia2_role_ = IA2_ROLE_NOTE; 3651 ia2_role_ = IA2_ROLE_NOTE;
3646 ia_state_ |= STATE_SYSTEM_READONLY; 3652 ia_state_ |= STATE_SYSTEM_READONLY;
3647 break; 3653 break;
3648 case ui::AX_ROLE_OUTLINE: 3654 case ui::AX_ROLE_OUTLINE:
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
3835 // The role should always be set. 3841 // The role should always be set.
3836 DCHECK(!role_name_.empty() || ia_role_); 3842 DCHECK(!role_name_.empty() || ia_role_);
3837 3843
3838 // If we didn't explicitly set the IAccessible2 role, make it the same 3844 // If we didn't explicitly set the IAccessible2 role, make it the same
3839 // as the MSAA role. 3845 // as the MSAA role.
3840 if (!ia2_role_) 3846 if (!ia2_role_)
3841 ia2_role_ = ia_role_; 3847 ia2_role_ = ia_role_;
3842 } 3848 }
3843 3849
3844 } // namespace content 3850 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698