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

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

Issue 10919157: Add support for new accessibility roles from WebKit, with tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add Mac expectations based on trybot runs Created 8 years, 3 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_win.cc
diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc
index 182459b95b3ca57e181f5440f5dba1f36be5da4a..a9061ce29781a00d5c6c94caa9c548df2712a791 100644
--- a/content/browser/accessibility/browser_accessibility_win.cc
+++ b/content/browser/accessibility/browser_accessibility_win.cc
@@ -3146,6 +3146,13 @@ void BrowserAccessibilityWin::InitRoleAndState() {
if (is_mixed)
ia_state_ |= STATE_SYSTEM_MIXED;
break;
+ case AccessibilityNodeData::ROLE_CANVAS:
+ ia_role_ = ROLE_SYSTEM_GRAPHIC;
+ break;
+ case AccessibilityNodeData::ROLE_CANVAS_WITH_FALLBACK_CONTENT:
+ role_name_ = L"canvas";
+ ia2_role_ = IA2_ROLE_CANVAS;
+ break;
case AccessibilityNodeData::ROLE_CELL:
ia_role_ = ROLE_SYSTEM_CELL;
break;
@@ -3167,6 +3174,10 @@ void BrowserAccessibilityWin::InitRoleAndState() {
case AccessibilityNodeData::ROLE_COMBO_BOX:
ia_role_ = ROLE_SYSTEM_COMBOBOX;
break;
+ case AccessibilityNodeData::ROLE_DIV:
+ role_name_ = L"div";
+ ia2_role_ = IA2_ROLE_SECTION;
+ break;
case AccessibilityNodeData::ROLE_DEFINITION_LIST_DEFINITION:
role_name_ = html_tag;
ia2_role_ = IA2_ROLE_PARAGRAPH;
@@ -3196,6 +3207,10 @@ void BrowserAccessibilityWin::InitRoleAndState() {
ia2_state_ |= IA2_STATE_SINGLE_LINE;
ia2_state_ |= IA2_STATE_EDITABLE;
break;
+ case AccessibilityNodeData::ROLE_FORM:
+ role_name_ = L"form";
+ ia2_role_ = IA2_ROLE_FORM;
+ break;
case AccessibilityNodeData::ROLE_FOOTER:
ia_role_ = IA2_ROLE_FOOTER;
ia_state_ |= STATE_SYSTEM_READONLY;
@@ -3211,12 +3226,6 @@ void BrowserAccessibilityWin::InitRoleAndState() {
ia_role_ = ROLE_SYSTEM_GROUPING;
} else if (html_tag == L"li") {
ia_role_ = ROLE_SYSTEM_LISTITEM;
- } else if (html_tag == L"form") {
- role_name_ = html_tag;
- ia2_role_ = IA2_ROLE_FORM;
- } else if (html_tag == L"p") {
- role_name_ = html_tag;
- ia2_role_ = IA2_ROLE_PARAGRAPH;
} else {
if (html_tag.empty())
role_name_ = L"div";
@@ -3236,6 +3245,9 @@ void BrowserAccessibilityWin::InitRoleAndState() {
ia2_role_ = IA2_ROLE_HEADING;
ia_state_ |= STATE_SYSTEM_READONLY;
break;
+ case AccessibilityNodeData::ROLE_HORIZONTAL_RULE:
+ ia_role_ = ROLE_SYSTEM_SEPARATOR;
+ break;
case AccessibilityNodeData::ROLE_IMAGE:
ia_role_ = ROLE_SYSTEM_GRAPHIC;
ia_state_ |= STATE_SYSTEM_READONLY;
@@ -3250,6 +3262,10 @@ void BrowserAccessibilityWin::InitRoleAndState() {
ia_state_ |= STATE_SYSTEM_LINKED;
ia_state_ |= STATE_SYSTEM_READONLY;
break;
+ case AccessibilityNodeData::ROLE_LABEL:
+ ia_role_ = ROLE_SYSTEM_TEXT;
+ ia2_role_ = IA2_ROLE_LABEL;
+ break;
case AccessibilityNodeData::ROLE_LANDMARK_APPLICATION:
case AccessibilityNodeData::ROLE_LANDMARK_BANNER:
case AccessibilityNodeData::ROLE_LANDMARK_COMPLEMENTARY:
@@ -3323,6 +3339,10 @@ void BrowserAccessibilityWin::InitRoleAndState() {
ia_role_ = ROLE_SYSTEM_OUTLINE;
ia_state_ |= STATE_SYSTEM_READONLY;
break;
+ case AccessibilityNodeData::ROLE_PARAGRAPH:
+ role_name_ = L"P";
+ ia2_role_ = IA2_ROLE_PARAGRAPH;
+ break;
case AccessibilityNodeData::ROLE_POPUP_BUTTON:
if (html_tag == L"select") {
ia_role_ = ROLE_SYSTEM_COMBOBOX;
@@ -3370,6 +3390,12 @@ void BrowserAccessibilityWin::InitRoleAndState() {
case AccessibilityNodeData::ROLE_SLIDER:
ia_role_ = ROLE_SYSTEM_SLIDER;
break;
+ case AccessibilityNodeData::ROLE_SPIN_BUTTON:
+ ia_role_ = ROLE_SYSTEM_SPINBUTTON;
+ break;
+ case AccessibilityNodeData::ROLE_SPIN_BUTTON_PART:
+ ia_role_ = ROLE_SYSTEM_PUSHBUTTON;
+ break;
case AccessibilityNodeData::ROLE_SPLIT_GROUP:
ia_role_ = ROLE_SYSTEM_CLIENT;
ia2_role_ = IA2_ROLE_SPLIT_PANE;
@@ -3409,6 +3435,10 @@ void BrowserAccessibilityWin::InitRoleAndState() {
case AccessibilityNodeData::ROLE_TAB_PANEL:
ia_role_ = ROLE_SYSTEM_PROPERTYPAGE;
break;
+ case AccessibilityNodeData::ROLE_TOGGLE_BUTTON:
+ ia_role_ = ROLE_SYSTEM_PUSHBUTTON;
+ ia2_role_ = IA2_ROLE_TOGGLE_BUTTON;
+ break;
case AccessibilityNodeData::ROLE_TEXTAREA:
ia_role_ = ROLE_SYSTEM_TEXT;
ia2_state_ |= IA2_STATE_MULTI_LINE;
@@ -3459,6 +3489,7 @@ void BrowserAccessibilityWin::InitRoleAndState() {
case AccessibilityNodeData::ROLE_LOG:
case AccessibilityNodeData::ROLE_MARQUEE:
case AccessibilityNodeData::ROLE_MATTE:
+ case AccessibilityNodeData::ROLE_PRESENTATIONAL:
case AccessibilityNodeData::ROLE_RULER_MARKER:
case AccessibilityNodeData::ROLE_SHEET:
case AccessibilityNodeData::ROLE_SLIDER_THUMB:

Powered by Google App Engine
This is Rietveld 408576698