| 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 c8ee3ab8c123738028d9dd7922b86a0a3a8ded6b..ff3c0123151a8fc2757bcd29e43cb88b253cda29 100644
|
| --- a/content/browser/accessibility/browser_accessibility_win.cc
|
| +++ b/content/browser/accessibility/browser_accessibility_win.cc
|
| @@ -3086,6 +3086,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() {
|
| @@ -3555,10 +3563,12 @@ void BrowserAccessibilityWin::InitRoleAndState() {
|
| ia2_role_ = IA2_ROLE_HEADING;
|
| break;
|
| case ui::AX_ROLE_IFRAME:
|
| - ia_role_ = ROLE_SYSTEM_DOCUMENT;
|
| 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;
|
|
|