Re: [g-a-devel] AccessibleComponent_getAccessibleAtPoint(): doesn't work for all cases?



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]