summaryrefslogtreecommitdiffstats
path: root/content/common
diff options
context:
space:
mode:
authordmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-01 08:44:16 +0000
committerdmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-01 08:44:16 +0000
commitee84512d1534bdf10fc11850665f2f6f5a16ba50 (patch)
treedf0a5130eb32a29932d9f1ef7766aaeee611ce00 /content/common
parentaec454416ace3ac53d95b2a00a4f89c2f5f443da (diff)
downloadchromium_src-ee84512d1534bdf10fc11850665f2f6f5a16ba50.zip
chromium_src-ee84512d1534bdf10fc11850665f2f6f5a16ba50.tar.gz
chromium_src-ee84512d1534bdf10fc11850665f2f6f5a16ba50.tar.bz2
Add a big grab bag of missing web accessibility
functionality on Windows. (Much of this will benefit Mac in a future changelist.) Improvements include dozens of corrected roles and states for various elements, improved support for tables with rowspan and colspan, range control support, and live region support. Also adds a new command-line flag to turn on logging of accessibility events, to help making this type of bug fixing much easier in the future. BUG=89181,89185,89187,89188,89202,89205,89210,89212,89213,89223 TEST=Manual testing with JAWS, NVDA, AViewer, and accProbe. Review URL: http://codereview.chromium.org/7745035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99161 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/common')
-rw-r--r--content/common/content_switches.cc3
-rw-r--r--content/common/content_switches.h1
-rw-r--r--content/common/view_messages.h68
3 files changed, 61 insertions, 11 deletions
diff --git a/content/common/content_switches.cc b/content/common/content_switches.cc
index f4d380b..3df8a44 100644
--- a/content/common/content_switches.cc
+++ b/content/common/content_switches.cc
@@ -159,6 +159,9 @@ const char kEnableAcceleratedDrawing[] = "enable-accelerated-drawing";
// Enables WebKit accessibility within the renderer process.
const char kEnableAccessibility[] = "enable-accessibility";
+// Turns on extremely verbose logging of accessibility events.
+const char kEnableAccessibilityLogging[] = "enable-accessibility-logging";
+
// Enables the benchmarking extensions.
const char kEnableBenchmarking[] = "enable-benchmarking";
diff --git a/content/common/content_switches.h b/content/common/content_switches.h
index a248391..31e643c 100644
--- a/content/common/content_switches.h
+++ b/content/common/content_switches.h
@@ -59,6 +59,7 @@ extern const char kDisableWebSockets[];
extern const char kEnableAccelerated2dCanvas[];
extern const char kEnableAcceleratedDrawing[];
extern const char kEnableAccessibility[];
+extern const char kEnableAccessibilityLogging[];
extern const char kEnableBenchmarking[];
extern const char kEnableDeviceMotion[];
extern const char kEnableFullScreen[];
diff --git a/content/common/view_messages.h b/content/common/view_messages.h
index 47ecf7d..395ff9e 100644
--- a/content/common/view_messages.h
+++ b/content/common/view_messages.h
@@ -47,25 +47,67 @@
#ifndef CONTENT_COMMON_VIEW_MESSAGES_H_
#define CONTENT_COMMON_VIEW_MESSAGES_H_
-struct ViewHostMsg_AccessibilityNotification_Type {
+struct ViewHostMsg_AccEvent {
enum Value {
+ // The active descendant of a node has changed.
+ ACTIVE_DESCENDANT_CHANGED,
+
+ // An alert appeared.
+ ALERT,
+
// The node checked state has changed.
- NOTIFICATION_TYPE_CHECK_STATE_CHANGED,
+ CHECK_STATE_CHANGED,
// The node tree structure has changed.
- NOTIFICATION_TYPE_CHILDREN_CHANGED,
+ CHILDREN_CHANGED,
// The node in focus has changed.
- NOTIFICATION_TYPE_FOCUS_CHANGED,
+ FOCUS_CHANGED,
+
+ // Page layout has completed.
+ LAYOUT_COMPLETE,
+
+ // Content within a part of the page marked as a live region changed.
+ LIVE_REGION_CHANGED,
// The document node has loaded.
- NOTIFICATION_TYPE_LOAD_COMPLETE,
+ LOAD_COMPLETE,
- // The node value has changed.
- NOTIFICATION_TYPE_VALUE_CHANGED,
+ // A menu list value changed.
+ MENU_LIST_VALUE_CHANGED,
+
+ // An object was shown.
+ OBJECT_SHOW,
+
+ // An object was hidden.
+ OBJECT_HIDE,
+
+ // The number of rows in a grid or tree control changed.
+ ROW_COUNT_CHANGED,
+
+ // A row in a grid or tree control was collapsed.
+ ROW_COLLAPSED,
+
+ // A row in a grid or tree control was expanded.
+ ROW_EXPANDED,
+
+ // The document was scrolled to an anchor node.
+ SCROLLED_TO_ANCHOR,
+
+ // One or more selected children of this node have changed.
+ SELECTED_CHILDREN_CHANGED,
// The text cursor or selection changed.
- NOTIFICATION_TYPE_SELECTED_TEXT_CHANGED,
+ SELECTED_TEXT_CHANGED,
+
+ // Text was inserted in a node with text content.
+ TEXT_INSERTED,
+
+ // Text was removed in a node with text content.
+ TEXT_REMOVED,
+
+ // The node value has changed.
+ VALUE_CHANGED,
};
};
@@ -160,7 +202,7 @@ IPC_ENUM_TRAITS(NavigationGesture)
IPC_ENUM_TRAITS(PageZoom::Function)
IPC_ENUM_TRAITS(RendererPreferencesHintingEnum)
IPC_ENUM_TRAITS(RendererPreferencesSubpixelRenderingEnum)
-IPC_ENUM_TRAITS(ViewHostMsg_AccessibilityNotification_Type::Value)
+IPC_ENUM_TRAITS(ViewHostMsg_AccEvent::Value)
IPC_ENUM_TRAITS(ViewHostMsg_RunFileChooser_Mode::Value)
IPC_ENUM_TRAITS(ViewMsg_Navigate_Type::Value)
IPC_ENUM_TRAITS(ViewMsg_StopFinding_Params::Action)
@@ -171,6 +213,8 @@ IPC_ENUM_TRAITS(WebKit::WebTextDirection)
IPC_ENUM_TRAITS(ui::TextInputType)
IPC_ENUM_TRAITS(WebMenuItem::Type)
IPC_ENUM_TRAITS(WindowContainerType)
+IPC_ENUM_TRAITS(webkit_glue::WebAccessibility::BoolAttribute)
+IPC_ENUM_TRAITS(webkit_glue::WebAccessibility::FloatAttribute)
IPC_ENUM_TRAITS(webkit_glue::WebAccessibility::IntAttribute)
IPC_ENUM_TRAITS(webkit_glue::WebAccessibility::Role)
IPC_ENUM_TRAITS(webkit_glue::WebAccessibility::State)
@@ -374,11 +418,14 @@ IPC_STRUCT_TRAITS_BEGIN(webkit_glue::WebAccessibility)
IPC_STRUCT_TRAITS_MEMBER(location)
IPC_STRUCT_TRAITS_MEMBER(string_attributes)
IPC_STRUCT_TRAITS_MEMBER(int_attributes)
+ IPC_STRUCT_TRAITS_MEMBER(float_attributes)
+ IPC_STRUCT_TRAITS_MEMBER(bool_attributes)
IPC_STRUCT_TRAITS_MEMBER(children)
IPC_STRUCT_TRAITS_MEMBER(indirect_child_ids)
IPC_STRUCT_TRAITS_MEMBER(html_attributes)
IPC_STRUCT_TRAITS_MEMBER(line_breaks)
IPC_STRUCT_TRAITS_MEMBER(cell_ids)
+ IPC_STRUCT_TRAITS_MEMBER(unique_cell_ids)
IPC_STRUCT_TRAITS_END()
IPC_STRUCT_TRAITS_BEGIN(webkit_glue::WebCookie)
@@ -560,8 +607,7 @@ IPC_STRUCT_END()
IPC_STRUCT_BEGIN(ViewHostMsg_AccessibilityNotification_Params)
// Type of notification.
- IPC_STRUCT_MEMBER(ViewHostMsg_AccessibilityNotification_Type::Value,
- notification_type)
+ IPC_STRUCT_MEMBER(ViewHostMsg_AccEvent::Value, notification_type)
// The accessibility node tree.
IPC_STRUCT_MEMBER(webkit_glue::WebAccessibility, acc_obj)