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

Issue 9958139: Add support for UIA accessibility interfaces like IAccessibleEx and IRawElementProviderSimple. (Closed)

Created:
8 years, 8 months ago by ananta
Modified:
8 years, 8 months ago
CC:
chromium-reviews, hashimoto+watch_chromium.org, aboxhall+watch_chromium.org, yoshiki+watch_chromium.org, jam, yuzo+watch_chromium.org, davidbarr+watch_chromium.org, joi+watch-content_chromium.org, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, tfarina, ctguil+watch_chromium.org, zork+watch_chromium.org
Visibility:
Public.

Description

Add support for UIA accessibility interfaces like IAccessibleEx and IRawElementProviderSimple. This is required for the on screen keyboard to show up in Windows 8 metro. At this point we only implement the GetPatternProvider/GetPropertyValue methods in the IRawElementProviderSimple. interface and the rest of the methods in the interfaces are left unimplemented. The GetPatternProvider/GetPropertyValue only handle the case where the user touches an editable portion on the window/page. This ensures that the OSK shows up on the omnibox and the web page. The ITextProvider and IValueProvider implementation is provided by the UIATextProvider class which lives in base/win/accessibility_misc_utils.cc/.h files. BUG=118641 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=130744

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 30

Patch Set 4 : #

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+349 lines, -23 lines) Patch
M base/base.gypi View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
A base/win/accessibility_misc_utils.h View 1 2 3 1 chunk +91 lines, -0 lines 0 comments Download
A base/win/accessibility_misc_utils.cc View 1 2 3 4 1 chunk +35 lines, -0 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_win.h View 1 2 3 7 chunks +52 lines, -4 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_win.cc View 1 2 3 2 chunks +64 lines, -15 lines 0 comments Download
M ui/views/accessibility/native_view_accessibility_win.h View 1 2 3 4 chunks +46 lines, -1 line 0 comments Download
M ui/views/accessibility/native_view_accessibility_win.cc View 1 2 3 2 chunks +59 lines, -3 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
ananta
8 years, 8 months ago (2012-04-03 22:55:40 UTC) #1
dmazzoni
Looks totally reasonable to me, just some nits. https://chromiumcodereview.appspot.com/9958139/diff/7001/content/browser/accessibility/browser_accessibility_win.cc File content/browser/accessibility/browser_accessibility_win.cc (right): https://chromiumcodereview.appspot.com/9958139/diff/7001/content/browser/accessibility/browser_accessibility_win.cc#newcode7 content/browser/accessibility/browser_accessibility_win.cc:7: #include ...
8 years, 8 months ago (2012-04-04 06:02:00 UTC) #2
ananta
https://chromiumcodereview.appspot.com/9958139/diff/7001/content/browser/accessibility/browser_accessibility_win.cc File content/browser/accessibility/browser_accessibility_win.cc (right): https://chromiumcodereview.appspot.com/9958139/diff/7001/content/browser/accessibility/browser_accessibility_win.cc#newcode7 content/browser/accessibility/browser_accessibility_win.cc:7: #include <atlsafe.h> On 2012/04/04 06:02:00, Dominic Mazzoni wrote: > ...
8 years, 8 months ago (2012-04-04 19:23:00 UTC) #3
dmazzoni
lgtm https://chromiumcodereview.appspot.com/9958139/diff/7001/ui/base/accessibility/accessible_text_utils.cc File ui/base/accessibility/accessible_text_utils.cc (right): https://chromiumcodereview.appspot.com/9958139/diff/7001/ui/base/accessibility/accessible_text_utils.cc#newcode102 ui/base/accessibility/accessible_text_utils.cc:102: HRESULT hr = text_provider->QueryInterface( On 2012/04/04 19:23:00, ananta ...
8 years, 8 months ago (2012-04-04 19:30:14 UTC) #4
jar (doing other things)
Predominantly rubber stamp LGTM for base landing.
8 years, 8 months ago (2012-04-04 21:38:59 UTC) #5
ananta
8 years, 8 months ago (2012-04-04 21:40:17 UTC) #6
https://chromiumcodereview.appspot.com/9958139/diff/7001/ui/base/accessibilit...
File ui/base/accessibility/accessible_text_utils.cc (right):

https://chromiumcodereview.appspot.com/9958139/diff/7001/ui/base/accessibilit...
ui/base/accessibility/accessible_text_utils.cc:102: HRESULT hr =
text_provider->QueryInterface(
On 2012/04/04 19:30:15, Dominic Mazzoni wrote:
> On 2012/04/04 19:23:00, ananta wrote:
> > On 2012/04/04 06:02:00, Dominic Mazzoni wrote:
> > > Is this necessary? I think you should be able to just return text_provider
> > > directly, like:
> > > 
> > > *provider = text_provider;
> > > 
> > > Then the Release() shouldn't be necessary.
> > 
> > That returns the following error.
> > error C2594: '=' : ambiguous conversions from 'ATL::CComObject<Base> *' to
> > 'IUnknown *'
> 
> This is because of the multiple inheritance. You should be able to cast
> text_provider to ITextProvider first - that only has one path to IUnknown:
> 
> *provider = static_cast<ITextProvider*>(text_provider);

Done.

Powered by Google App Engine
This is Rietveld 408576698