Re: [g-a-devel] AccessibleComponent_getAccessibleAtPoint(): doesn't work for all cases?
- From: Li Yuan <Li Yuan Sun COM>
- To: "Quiring, Sam" <Sam Quiring windriver com>
- Cc: gnome-accessibility-devel gnome org
- Subject: Re: [g-a-devel] AccessibleComponent_getAccessibleAtPoint(): doesn't work for all cases?
- Date: Thu, 12 Feb 2009 15:28:22 +0800
Quiring, Sam wrote:
Greetings,
Over in the Mozilla accessibility mailing list
(dev-accessibility lists mozilla org
<mailto:dev-accessibility lists mozilla org>) I asked how to determine
the topmost object under the mouse, the object that would get the
event if the user clicked? Aaron Leventhal answered "MSAA and AT-SPI
have a way to get the accessible object at a point". With some help I
eventually discovered the at-spi
routine AccessibleComponent_getAccessibleAtPoint(), which has worked
great until today.
I have a GTK window on the screen and the mouse is hovering over a
Text box. Below is a dump of part of the at-spi accessibility tree
representing that area of the window. The mouse is at (x,y) = (1060,
538). This is inside the text object shown at the last line of the dump.
I call AccessibleComponent_getAccessibleAtPoint(...,1060, 538) on the
"page tab list" object and it returns NULL. Given the data in the
dump, I can see how this might have happened: there are exactly 2
children of "page tab list" and neither contain (1060, 538):
child 2/2 (n:,d:,r:page tab list) Box[756,508,506,170] [actions: ]
[subs: Component Selection ] (children: 2)
child 1/2 (n:,d:,r:page tab) Box[-2147483648,-2147483648,0,0]
[actions: ] [subs: Component Text ] (children: 1)
child 2/2 (n:,d:,r:page tab) Box[756,508,0,0] [actions: ] [subs:
Component Text ] (children: 1)
Probably because these component doesn't have the right value. Are these
text view?
Li
but if we look further, we can see that deeper descendents do contain
(1060, 538), including the text box at the bottom of the dump, which
is what I was looking for.
Is this a bug in AccessibleComponent_getAccessibleAtPoint()? If not,
is there another routine I should be calling to get the accessible
object at a point?
-Sam
*_key: Box[x, y, width, height]_*
child 2/2 (n:,d:,r:page tab list) Box[756,508,506,170] [actions: ]
[subs: Component Selection ] (children: 2)
child 2/2 - [states: enabled, sensitive, showing, visible]
child 1/2 (n:,d:,r:page tab) Box[-2147483648,-2147483648,0,0]
[actions: ] [subs: Component Text ] (children: 1)
child 2/2 (n:,d:,r:page tab) Box[756,508,0,0] [actions: ] [subs:
Component Text ] (children: 1)
child 1/1 (n:,d:,r:filler) Box[756,508,506,170] [actions: ] [subs:
Component ] (children: 2)
child 1/2 (n:,d:,r:scroll pane) Box[762,514,494,122] [actions: ]
[subs: Component ] (children: 2)
child 1/2 (n:,d:,r:viewport) Box[762,514,476,122] [actions: ]
[subs: Component ] (children: 1)
child 1/1 (n:,d:,r:panel) Box[764,516,472,385] [actions: ]
[subs: Component ] (children: 12)
child 1/12 (n:,d:,r:panel) Box[1162,528,68,56] [actions: ]
[subs: Component ] (children: 1)
...
child 11/12 (n:,d:,r:panel) Box[912,528,250,25] [actions:
] [subs: Component ] (children: 1)
child 1/1 (n:,d:,r:text) Box[912,528,250,25] [actions:
activate] [subs: Action Component EditableText Text ] (children: 0)
------------------------------------------------------------------------
_______________________________________________
Gnome-accessibility-devel mailing list
Gnome-accessibility-devel gnome org
http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]