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

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

Issue 638103003: ARIA role region is not exposed correct with MSAA+IA2 role (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git/+/master
Patch Set: fixing nit 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 3672 matching lines...) Expand 10 before | Expand all | Expand 10 after
3683 ia_state_ |= STATE_SYSTEM_READONLY; 3683 ia_state_ |= STATE_SYSTEM_READONLY;
3684 break; 3684 break;
3685 case ui::AX_ROLE_RADIO_BUTTON: 3685 case ui::AX_ROLE_RADIO_BUTTON:
3686 ia_role_ = ROLE_SYSTEM_RADIOBUTTON; 3686 ia_role_ = ROLE_SYSTEM_RADIOBUTTON;
3687 break; 3687 break;
3688 case ui::AX_ROLE_RADIO_GROUP: 3688 case ui::AX_ROLE_RADIO_GROUP:
3689 ia_role_ = ROLE_SYSTEM_GROUPING; 3689 ia_role_ = ROLE_SYSTEM_GROUPING;
3690 ia2_role_ = IA2_ROLE_SECTION; 3690 ia2_role_ = IA2_ROLE_SECTION;
3691 break; 3691 break;
3692 case ui::AX_ROLE_REGION: 3692 case ui::AX_ROLE_REGION:
3693 ia_role_ = ROLE_SYSTEM_GROUPING; 3693 if (html_tag == L"section") {
3694 ia2_role_ = IA2_ROLE_SECTION; 3694 ia_role_ = ROLE_SYSTEM_GROUPING;
3695 ia_state_ |= STATE_SYSTEM_READONLY; 3695 ia2_role_ = IA2_ROLE_SECTION;
3696 } else {
3697 ia_role_ = ROLE_SYSTEM_PANE;
3698 }
3696 break; 3699 break;
3697 case ui::AX_ROLE_ROW: 3700 case ui::AX_ROLE_ROW:
3698 ia_role_ = ROLE_SYSTEM_ROW; 3701 ia_role_ = ROLE_SYSTEM_ROW;
3699 ia_state_ |= STATE_SYSTEM_READONLY; 3702 ia_state_ |= STATE_SYSTEM_READONLY;
3700 break; 3703 break;
3701 case ui::AX_ROLE_ROW_HEADER: 3704 case ui::AX_ROLE_ROW_HEADER:
3702 ia_role_ = ROLE_SYSTEM_ROWHEADER; 3705 ia_role_ = ROLE_SYSTEM_ROWHEADER;
3703 ia_state_ |= STATE_SYSTEM_READONLY; 3706 ia_state_ |= STATE_SYSTEM_READONLY;
3704 break; 3707 break;
3705 case ui::AX_ROLE_RULER: 3708 case ui::AX_ROLE_RULER:
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
3856 // The role should always be set. 3859 // The role should always be set.
3857 DCHECK(!role_name_.empty() || ia_role_); 3860 DCHECK(!role_name_.empty() || ia_role_);
3858 3861
3859 // If we didn't explicitly set the IAccessible2 role, make it the same 3862 // If we didn't explicitly set the IAccessible2 role, make it the same
3860 // as the MSAA role. 3863 // as the MSAA role.
3861 if (!ia2_role_) 3864 if (!ia2_role_)
3862 ia2_role_ = ia_role_; 3865 ia2_role_ = ia_role_;
3863 } 3866 }
3864 3867
3865 } // namespace content 3868 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698