Index: content/browser/accessibility/browser_accessibility_win.cc |
diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc |
index b269a07b49a38e6e3eb430d08196c962a02a5315..4575aa8c38b5e4908e1643a2514e14981f66d875 100644 |
--- a/content/browser/accessibility/browser_accessibility_win.cc |
+++ b/content/browser/accessibility/browser_accessibility_win.cc |
@@ -3088,6 +3088,14 @@ void BrowserAccessibilityWin::OnDataChanged() { |
relation->AddTarget(title_elem_id); |
relations_.push_back(relation); |
} |
+ |
+ // If this is a web area for a presentational iframe, give it a role of |
+ // something other than DOCUMENT so that the fact that it's a separate doc |
+ // is not exposed to AT. |
+ if (IsWebAreaForPresentationalIframe()) { |
+ ia_role_ = ROLE_SYSTEM_GROUPING; |
+ ia2_role_ = ROLE_SYSTEM_GROUPING; |
+ } |
} |
void BrowserAccessibilityWin::OnUpdateFinished() { |
@@ -3550,6 +3558,9 @@ void BrowserAccessibilityWin::InitRoleAndState() { |
ia2_role_ = IA2_ROLE_INTERNAL_FRAME; |
ia_state_ = STATE_SYSTEM_READONLY; |
break; |
+ case ui::AX_ROLE_IFRAME_PRESENTATIONAL: |
+ ia_role_ = ROLE_SYSTEM_GROUPING; |
+ break; |
case ui::AX_ROLE_IMAGE: |
ia_role_ = ROLE_SYSTEM_GRAPHIC; |
ia_state_ |= STATE_SYSTEM_READONLY; |