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 2928 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2939 ia2_role_ == IA2_ROLE_TOGGLE_BUTTON) { | 2939 ia2_role_ == IA2_ROLE_TOGGLE_BUTTON) { |
2940 ia2_attributes_.push_back(L"checkable:true"); | 2940 ia2_attributes_.push_back(L"checkable:true"); |
2941 } | 2941 } |
2942 | 2942 |
2943 // Expose live region attributes. | 2943 // Expose live region attributes. |
2944 StringAttributeToIA2(ui::AX_ATTR_LIVE_STATUS, "live"); | 2944 StringAttributeToIA2(ui::AX_ATTR_LIVE_STATUS, "live"); |
2945 StringAttributeToIA2(ui::AX_ATTR_LIVE_RELEVANT, "relevant"); | 2945 StringAttributeToIA2(ui::AX_ATTR_LIVE_RELEVANT, "relevant"); |
2946 BoolAttributeToIA2(ui::AX_ATTR_LIVE_ATOMIC, "atomic"); | 2946 BoolAttributeToIA2(ui::AX_ATTR_LIVE_ATOMIC, "atomic"); |
2947 BoolAttributeToIA2(ui::AX_ATTR_LIVE_BUSY, "busy"); | 2947 BoolAttributeToIA2(ui::AX_ATTR_LIVE_BUSY, "busy"); |
2948 | 2948 |
| 2949 // Expose aria-grabbed attributes. |
| 2950 BoolAttributeToIA2(ui::AX_ATTR_GRABBED, "grabbed"); |
| 2951 |
2949 // Expose container live region attributes. | 2952 // Expose container live region attributes. |
2950 StringAttributeToIA2(ui::AX_ATTR_CONTAINER_LIVE_STATUS, | 2953 StringAttributeToIA2(ui::AX_ATTR_CONTAINER_LIVE_STATUS, |
2951 "container-live"); | 2954 "container-live"); |
2952 StringAttributeToIA2(ui::AX_ATTR_CONTAINER_LIVE_RELEVANT, | 2955 StringAttributeToIA2(ui::AX_ATTR_CONTAINER_LIVE_RELEVANT, |
2953 "container-relevant"); | 2956 "container-relevant"); |
2954 BoolAttributeToIA2(ui::AX_ATTR_CONTAINER_LIVE_ATOMIC, | 2957 BoolAttributeToIA2(ui::AX_ATTR_CONTAINER_LIVE_ATOMIC, |
2955 "container-atomic"); | 2958 "container-atomic"); |
2956 BoolAttributeToIA2(ui::AX_ATTR_CONTAINER_LIVE_BUSY, | 2959 BoolAttributeToIA2(ui::AX_ATTR_CONTAINER_LIVE_BUSY, |
2957 "container-busy"); | 2960 "container-busy"); |
2958 | 2961 |
(...skipping 933 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3892 // The role should always be set. | 3895 // The role should always be set. |
3893 DCHECK(!role_name_.empty() || ia_role_); | 3896 DCHECK(!role_name_.empty() || ia_role_); |
3894 | 3897 |
3895 // If we didn't explicitly set the IAccessible2 role, make it the same | 3898 // If we didn't explicitly set the IAccessible2 role, make it the same |
3896 // as the MSAA role. | 3899 // as the MSAA role. |
3897 if (!ia2_role_) | 3900 if (!ia2_role_) |
3898 ia2_role_ = ia_role_; | 3901 ia2_role_ = ia_role_; |
3899 } | 3902 } |
3900 | 3903 |
3901 } // namespace content | 3904 } // namespace content |
OLD | NEW |