diff options
author | dtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-06 08:15:09 +0000 |
---|---|---|
committer | dtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-06 08:15:09 +0000 |
commit | 9a5bfe55537668a7d809c9a67cbc8e1e158f56a3 (patch) | |
tree | 94fa9f81447e00e2999fb61980634d37b14355c8 /content/browser | |
parent | a759f32e53c0182d3cdf3032755bab3bf0adee77 (diff) | |
download | chromium_src-9a5bfe55537668a7d809c9a67cbc8e1e158f56a3.zip chromium_src-9a5bfe55537668a7d809c9a67cbc8e1e158f56a3.tar.gz chromium_src-9a5bfe55537668a7d809c9a67cbc8e1e158f56a3.tar.bz2 |
Translates the webkit notification for selection changes properly on Windows and maps the roles to something that works for Jaws.
This won't work until
https://bugs.webkit.org/show_bug.cgi?id=85541
makes its way into Chrome.
BUG=none
TEST=manually with JFW13.
TBR=darin
Review URL: http://codereview.chromium.org/10352005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135586 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser')
-rw-r--r-- | content/browser/accessibility/browser_accessibility_manager_win.cc | 3 | ||||
-rw-r--r-- | content/browser/accessibility/browser_accessibility_win.cc | 11 |
2 files changed, 12 insertions, 2 deletions
diff --git a/content/browser/accessibility/browser_accessibility_manager_win.cc b/content/browser/accessibility/browser_accessibility_manager_win.cc index 2670ee1..a00d233 100644 --- a/content/browser/accessibility/browser_accessibility_manager_win.cc +++ b/content/browser/accessibility/browser_accessibility_manager_win.cc @@ -106,6 +106,9 @@ void BrowserAccessibilityManagerWin::NotifyAccessibilityEvent( case AccessibilityNotificationAlert: event_id = EVENT_SYSTEM_ALERT; break; + case AccessibilityNotificationMenuListItemSelected: + event_id = EVENT_OBJECT_FOCUS; + break; case AccessibilityNotificationMenuListValueChanged: event_id = EVENT_OBJECT_VALUECHANGE; break; diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc index 4f53ecc..8d38e01 100644 --- a/content/browser/accessibility/browser_accessibility_win.cc +++ b/content/browser/accessibility/browser_accessibility_win.cc @@ -3214,11 +3214,18 @@ void BrowserAccessibilityWin::InitRoleAndState() { ia_role_ = ROLE_SYSTEM_MENUBAR; break; case WebAccessibility::ROLE_MENU_ITEM: - case WebAccessibility::ROLE_MENU_LIST_OPTION: ia_role_ = ROLE_SYSTEM_MENUITEM; break; case WebAccessibility::ROLE_MENU_LIST_POPUP: - ia_role_ = ROLE_SYSTEM_MENUPOPUP; + ia_role_ = ROLE_SYSTEM_CLIENT; + break; + case WebAccessibility::ROLE_MENU_LIST_OPTION: + ia_role_ = ROLE_SYSTEM_LISTITEM; + if (ia_state_ & STATE_SYSTEM_SELECTABLE) { + ia_state_ |= STATE_SYSTEM_FOCUSABLE; + if (HasState(WebAccessibility::STATE_FOCUSED)) + ia_state_|= STATE_SYSTEM_FOCUSED; + } break; case WebAccessibility::ROLE_NOTE: ia_role_ = ROLE_SYSTEM_GROUPING; |