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

Unified Diff: content/browser/accessibility/browser_accessibility_com_win.cc

Issue 2946673003: Aria-details takes an ID reference, not an ID reference list (Closed)
Patch Set: Rebase Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/accessibility/browser_accessibility_com_win.cc
diff --git a/content/browser/accessibility/browser_accessibility_com_win.cc b/content/browser/accessibility/browser_accessibility_com_win.cc
index 4695d7bfd0d1c5cdaf67519587a0fd8ebe46a6ae..8ec9e981b9f157a48844fd71d957dab25cbeaf93 100644
--- a/content/browser/accessibility/browser_accessibility_com_win.cc
+++ b/content/browser/accessibility/browser_accessibility_com_win.cc
@@ -3801,8 +3801,14 @@ void BrowserAccessibilityComWin::UpdateStep1ComputeWinAttributes() {
ui::AX_ATTR_FLOWTO_IDS);
AddBidirectionalRelations(IA2_RELATION_LABELLED_BY, IA2_RELATION_LABEL_FOR,
ui::AX_ATTR_LABELLEDBY_IDS);
- AddBidirectionalRelations(IA2_RELATION_DETAILS, IA2_RELATION_DETAILS_FOR,
- ui::AX_ATTR_DETAILS_IDS);
+
+ int32_t details_id;
+ if (GetIntAttribute(ui::AX_ATTR_DETAILS_ID, &details_id)) {
+ std::vector<int32_t> details_ids;
+ details_ids.push_back(details_id);
+ AddBidirectionalRelations(IA2_RELATION_DETAILS, IA2_RELATION_DETAILS_FOR,
+ details_ids);
+ }
int member_of_id;
if (owner()->GetIntAttribute(ui::AX_ATTR_MEMBER_OF_ID, &member_of_id))
@@ -4813,6 +4819,13 @@ void BrowserAccessibilityComWin::AddBidirectionalRelations(
const std::vector<int32_t>& target_ids =
owner()->GetIntListAttribute(attribute);
+ AddBidirectionalRelations(relation_type, reverse_relation_type, target_ids);
+}
+
+void BrowserAccessibilityComWin::AddBidirectionalRelations(
+ const base::string16& relation_type,
+ const base::string16& reverse_relation_type,
+ const std::vector<int32_t>& target_ids) {
// Reflexive relations don't need to be exposed through IA2.
std::vector<int32_t> filtered_target_ids;
int32_t current_id = owner()->GetId();
« no previous file with comments | « content/browser/accessibility/browser_accessibility_com_win.h ('k') | content/renderer/accessibility/blink_ax_tree_source.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698