Index: ui/accessibility/platform/ax_platform_node_win.h |
diff --git a/ui/accessibility/platform/ax_platform_node_win.h b/ui/accessibility/platform/ax_platform_node_win.h |
index a08df798ad6a024939b51ddbc67836def2358ac5..eab55ff1592969a3fe84065d4b3d43cf0a1e9aa9 100644 |
--- a/ui/accessibility/platform/ax_platform_node_win.h |
+++ b/ui/accessibility/platform/ax_platform_node_win.h |
@@ -421,9 +421,11 @@ class AX_EXPORT __declspec(uuid("26f5641a-246d-457b-a96d-07f3fae6acf2")) |
int MSAARole(); |
std::string StringOverrideForMSAARole(); |
- int32_t IA2State(); |
+ int32_t ComputeIA2State(); |
- int32_t IA2Role(); |
+ int32_t ComputeIA2Role(); |
+ |
+ std::vector<base::string16> ComputeIA2Attributes(); |
// AXPlatformNodeBase overrides. |
void Dispose() override; |
@@ -438,6 +440,32 @@ class AX_EXPORT __declspec(uuid("26f5641a-246d-457b-a96d-07f3fae6acf2")) |
ui::AXStringAttribute attribute, |
BSTR* value_bstr) const; |
+ // Escapes characters in string attributes as required by the IA2 Spec. |
+ // It's okay for input to be the same as output. |
+ static void SanitizeStringAttributeForIA2(const base::string16& input, |
+ base::string16* output); |
+ |
+ // Sets the selection given a start and end offset in IA2 Hypertext. |
+ void SetIA2HypertextSelection(LONG start_offset, LONG end_offset); |
+ |
+ // If the string attribute |attribute| is present, add its value as an |
+ // IAccessible2 attribute with the name |ia2_attr|. |
+ void StringAttributeToIA2(std::vector<base::string16>& attributes, |
+ ui::AXStringAttribute attribute, |
+ const char* ia2_attr); |
+ |
+ // If the bool attribute |attribute| is present, add its value as an |
+ // IAccessible2 attribute with the name |ia2_attr|. |
+ void BoolAttributeToIA2(std::vector<base::string16>& attributes, |
+ ui::AXBoolAttribute attribute, |
+ const char* ia2_attr); |
+ |
+ // If the int attribute |attribute| is present, add its value as an |
+ // IAccessible2 attribute with the name |ia2_attr|. |
+ void IntAttributeToIA2(std::vector<base::string16>& attributes, |
+ ui::AXIntAttribute attribute, |
+ const char* ia2_attr); |
+ |
void AddAlertTarget(); |
void RemoveAlertTarget(); |