zhangqd / chromiumembedded

Automatically exported from code.google.com/p/chromiumembedded
0 stars 1 forks source link

Chrome_RenderWidgetHostHWND | IAccesible weird behavior #1263

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Hello,

There is some weird behavior, which I cannot understand why it is happening.

I have an application that contains embedded chromium browser which called 
`Home`.
From another application (.NET),
I'm searching for the embedded chromium browser using IAccesible (MSAA), and 
using get_accName() to get its name.
But the problem is, 
that the class Chrome_RenderWidgetHostHWND returns NULL as the name of the 
control.

Output:                           the format is: #level role | name, | class
==================
   #1 window | Home,  | CefBrowserWindow
     #2 client | Home,  | CefBrowserWindow
       #3 window | Home,  | Chrome_WidgetWin_0
         #4 client | Home,  | Chrome_WidgetWin_0
           #5 window | ,  | Chrome_RenderWidgetHostHWND
             #6 document | ,  | Chrome_RenderWidgetHostHWND

You can see that CefBrowserWindow and Chrome_WidgetWin_0, returnning `Home` for 
the control name, 
but Chrome_RenderWidgetHostHWND, returns NULL

NOW, 
the strange thing is:
I keep the same applications open, without any change,
and open the application NV Access (from www.nvaccess.org | called also NVDA).
after running "NV Access", 
Using the same .NET application to search for embedded chromium browser using 
IAccesible (MSAA), and using get_accName() to get its name,
I'm getting the following result:

Output:                           the format is: #level role | name | class
==================
   #1 window | Home,  | CefBrowserWindow
     #2 client | Home,  | CefBrowserWindow
       #3 window | Home,  | Chrome_WidgetWin_0
         #4 client | Home,  | Chrome_WidgetWin_0
           #5 window | Home,  | Chrome_RenderWidgetHostHWND
             #6 document | Home,  | Chrome_RenderWidgetHostHWND

Now, Chrome_RenderWidgetHostHWND returns correct values as get_accName().

Can you please help to explain what is happening here,
and how I can fix the issue to get the correct name of the control?

Thanks in advance !!

Original issue reported on code.google.com by mr.baby...@gmail.com on 30 Apr 2014 at 7:13

GoogleCodeExporter commented 9 years ago
Please ask questions in the forum instead of the issue tracker.

Original comment by magreenb...@gmail.com on 30 Apr 2014 at 2:50

GoogleCodeExporter commented 9 years ago
The problem is i dont know if it is a bug,
or 
suppose to behave like this.

is it related to that nvda is detected as "screen reader" 
and my app is not ?
(if this is the case, can u guide me how to make my app also "screen reader")

Original comment by mr.baby...@gmail.com on 1 May 2014 at 11:11