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

Issue 8391010: Improve omnibox accessibility on Windows. (Closed)

Created:
9 years, 2 months ago by dmazzoni
Modified:
9 years, 1 month ago
Reviewers:
David Tseng, sky
CC:
chromium-reviews, James Su, hashimoto+watch_chromium.org, aboxhall+watch_chromium.org, tfarina, yoshiki+watch_chromium.org, yuzo+watch_chromium.org, davidbarr+watch_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, dhollowa, ctguil+watch_chromium.org, zork+watch_chromium.org
Visibility:
Public.

Description

Improve omnibox accessibility on Windows. This refactors and improves a bunch of views accessibility code on Windows and has the result of enabling NVDA to announce the text selection in the omnibox. The AutocompleteAccessibility class is removed; its functionality is rolled into NativeViewAccessibilityWin. NativeViewAccessibilityWin adds IAccessible2 and IAccessibleText interfaces, allowing it to directly expose the caret and selection to compatible assistive technology. In addition, this gives each accessible object an unique id. Finally, the reference from a View to its NativeViewAccessibilityWin is changed from a scoped_refptr to a ScopedComPtr, because another process may still have a reference to the accessible COM object when the View is deleted. BUG=53380 TEST=Manually test the omnibox with NVDA on Windows. It should announce text that's selected, including autocompletions. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107924

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 25

Patch Set 3 : '' #

Patch Set 4 : '' #

Total comments: 1

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+567 lines, -518 lines) Patch
D chrome/browser/autocomplete/autocomplete_accessibility.h View 1 2 3 4 5 6 1 chunk +0 lines, -116 lines 0 comments Download
D chrome/browser/autocomplete/autocomplete_accessibility.cc View 1 2 3 4 5 6 1 chunk +0 lines, -261 lines 0 comments Download
M chrome/browser/autocomplete/autocomplete_edit_unittest.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.mm View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/gtk/omnibox/omnibox_view_gtk.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/gtk/omnibox/omnibox_view_gtk.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/omnibox/omnibox_view.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/views/omnibox/omnibox_view_views.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/views/omnibox/omnibox_view_views.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/views/omnibox/omnibox_view_win.h View 1 2 3 4 5 6 5 chunks +7 lines, -5 lines 0 comments Download
M chrome/browser/ui/views/omnibox/omnibox_view_win.cc View 1 2 3 4 5 6 8 chunks +50 lines, -41 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 2 chunks +0 lines, -3 lines 0 comments Download
M ui/base/accessibility/accessibility_types.h View 1 2 3 4 5 6 1 chunk +17 lines, -16 lines 0 comments Download
M views/DEPS View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M views/accessibility/native_view_accessibility_win.h View 1 2 3 4 5 6 4 chunks +186 lines, -4 lines 0 comments Download
M views/accessibility/native_view_accessibility_win.cc View 1 2 3 4 5 6 9 chunks +286 lines, -62 lines 0 comments Download
M views/view.h View 1 2 3 4 5 6 3 chunks +8 lines, -2 lines 0 comments Download
M views/views.gyp View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
dmazzoni
sky: overall code quality dtseng: check implementation of a11y interfaces in particular
9 years, 2 months ago (2011-10-25 18:16:00 UTC) #1
sky
http://codereview.chromium.org/8391010/diff/4001/chrome/browser/ui/views/omnibox/omnibox_view_win.cc File chrome/browser/ui/views/omnibox/omnibox_view_win.cc (right): http://codereview.chromium.org/8391010/diff/4001/chrome/browser/ui/views/omnibox/omnibox_view_win.cc#newcode332 chrome/browser/ui/views/omnibox/omnibox_view_win.cc:332: state->selection_end = sel_end; Is this ok if sel_start > ...
9 years, 2 months ago (2011-10-25 20:08:44 UTC) #2
David Tseng
http://codereview.chromium.org/8391010/diff/4001/chrome/browser/ui/views/omnibox/omnibox_view_win.cc File chrome/browser/ui/views/omnibox/omnibox_view_win.cc (right): http://codereview.chromium.org/8391010/diff/4001/chrome/browser/ui/views/omnibox/omnibox_view_win.cc#newcode963 chrome/browser/ui/views/omnibox/omnibox_view_win.cc:963: native_view_host_->set_focus_view(parent); On Windows, is the focused view the parent? ...
9 years, 2 months ago (2011-10-25 21:55:25 UTC) #3
dmazzoni
Scott, I changed it as you suggested to search the view hierarchy rather than maintain ...
9 years, 1 month ago (2011-10-26 16:46:13 UTC) #4
sky
Nice. LGTM http://codereview.chromium.org/8391010/diff/4009/chrome/browser/ui/views/omnibox/omnibox_view_win.cc File chrome/browser/ui/views/omnibox/omnibox_view_win.cc (right): http://codereview.chromium.org/8391010/diff/4009/chrome/browser/ui/views/omnibox/omnibox_view_win.cc#newcode314 chrome/browser/ui/views/omnibox/omnibox_view_win.cc:314: : omnibox_view_win_(omnibox_view_win) { } nit: '{ }' ...
9 years, 1 month ago (2011-10-26 21:16:33 UTC) #5
David Tseng
lgtm http://codereview.chromium.org/8391010/diff/4001/chrome/browser/ui/views/omnibox/omnibox_view_win.cc File chrome/browser/ui/views/omnibox/omnibox_view_win.cc (right): http://codereview.chromium.org/8391010/diff/4001/chrome/browser/ui/views/omnibox/omnibox_view_win.cc#newcode963 chrome/browser/ui/views/omnibox/omnibox_view_win.cc:963: native_view_host_->set_focus_view(parent); On 2011/10/26 16:46:13, Dominic Mazzoni wrote: > ...
9 years, 1 month ago (2011-10-27 20:42:15 UTC) #6
dmazzoni
FYI, I decided to revert the changes to native_widget_win for now. Trying to use the ...
9 years, 1 month ago (2011-10-28 19:59:15 UTC) #7
sky
9 years, 1 month ago (2011-10-28 22:14:36 UTC) #8
Bummer. I liked less code.

LGTM

Powered by Google App Engine
This is Rietveld 408576698