| 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();
|
|
|