diff options
author | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-01 08:44:16 +0000 |
---|---|---|
committer | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-01 08:44:16 +0000 |
commit | ee84512d1534bdf10fc11850665f2f6f5a16ba50 (patch) | |
tree | df0a5130eb32a29932d9f1ef7766aaeee611ce00 /content/browser/accessibility/browser_accessibility_manager_win.cc | |
parent | aec454416ace3ac53d95b2a00a4f89c2f5f443da (diff) | |
download | chromium_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/browser/accessibility/browser_accessibility_manager_win.cc')
-rw-r--r-- | content/browser/accessibility/browser_accessibility_manager_win.cc | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/content/browser/accessibility/browser_accessibility_manager_win.cc b/content/browser/accessibility/browser_accessibility_manager_win.cc index 7b992e7..943831e 100644 --- a/content/browser/accessibility/browser_accessibility_manager_win.cc +++ b/content/browser/accessibility/browser_accessibility_manager_win.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -57,33 +57,49 @@ void BrowserAccessibilityManagerWin::NotifyAccessibilityEvent( BrowserAccessibility* node) { LONG event_id = EVENT_MIN; switch (type) { - case ViewHostMsg_AccessibilityNotification_Type:: - NOTIFICATION_TYPE_CHECK_STATE_CHANGED: + case ViewHostMsg_AccEvent::ACTIVE_DESCENDANT_CHANGED: + event_id = IA2_EVENT_ACTIVE_DESCENDANT_CHANGED; + break; + case ViewHostMsg_AccEvent::CHECK_STATE_CHANGED: event_id = EVENT_OBJECT_STATECHANGE; break; - case ViewHostMsg_AccessibilityNotification_Type:: - NOTIFICATION_TYPE_CHILDREN_CHANGED: + case ViewHostMsg_AccEvent::CHILDREN_CHANGED: event_id = EVENT_OBJECT_REORDER; break; - case ViewHostMsg_AccessibilityNotification_Type:: - NOTIFICATION_TYPE_FOCUS_CHANGED: + case ViewHostMsg_AccEvent::FOCUS_CHANGED: event_id = EVENT_OBJECT_FOCUS; break; - case ViewHostMsg_AccessibilityNotification_Type:: - NOTIFICATION_TYPE_LOAD_COMPLETE: + case ViewHostMsg_AccEvent::LOAD_COMPLETE: event_id = IA2_EVENT_DOCUMENT_LOAD_COMPLETE; break; - case ViewHostMsg_AccessibilityNotification_Type:: - NOTIFICATION_TYPE_VALUE_CHANGED: + case ViewHostMsg_AccEvent::VALUE_CHANGED: event_id = EVENT_OBJECT_VALUECHANGE; break; - case ViewHostMsg_AccessibilityNotification_Type:: - NOTIFICATION_TYPE_SELECTED_TEXT_CHANGED: + case ViewHostMsg_AccEvent::SELECTED_TEXT_CHANGED: event_id = IA2_EVENT_TEXT_CARET_MOVED; break; - default: - NOTREACHED(); + case ViewHostMsg_AccEvent::LIVE_REGION_CHANGED: + event_id = EVENT_OBJECT_REORDER; + break; + case ViewHostMsg_AccEvent::TEXT_INSERTED: + event_id = IA2_EVENT_TEXT_INSERTED; + break; + case ViewHostMsg_AccEvent::TEXT_REMOVED: + event_id = IA2_EVENT_TEXT_REMOVED; break; + case ViewHostMsg_AccEvent::OBJECT_SHOW: + event_id = EVENT_OBJECT_SHOW; + break; + case ViewHostMsg_AccEvent::OBJECT_HIDE: + event_id = EVENT_OBJECT_HIDE; + break; + case ViewHostMsg_AccEvent::ALERT: + event_id = EVENT_SYSTEM_ALERT; + break; + default: + // Not all WebKit accessibility events result in a Windows + // accessibility notification. + return; } NotifyWinEvent(event_id, GetParentView(), OBJID_CLIENT, node->child_id()); |