Re: AT-SPI standard's management of text objects

Ksamak <[email protected]> Mon, 21 Nov 2016 11:07:43 +0100
Newsgroups gmane.comp.gnome.accessibility.general
Message-ID <[email protected]>
On Sun, Nov 20, 2016 at 06:48:13PM +0100, Samuel Thibault wrote:
> Samuel Thibault, on Sun 20 Nov 2016 18:35:41 +0100, wrote:
> > Ksamak, on Wed 16 Nov 2016 09:32:20 +0100, wrote:
> > > On Tue, Nov 15, 2016 at 07:49:00PM +0100, Samuel Thibault wrote:
> > > > Ksamak, on Tue 15 Nov 2016 16:52:51 +0100, wrote:
> > > > > When caret is on a newline, it is quite hard to get the
> > > > > screen position of the newline caret, The function atspi_text_get_character_extents
> > > > > is of no help, and returns 0,0 as coordinates when such offset is
> > > > > provided.
> > > > 
> > > > This looks like a bug to me.
> > 
> > Could you provide a specific example how to reproduce the issue?
> > 
> > > > > Another similar problem is when a text is empty, thereby no text
> > > > > offset is present.
> > 
> > Ditto?
> 
> (I believe it's probably just a behavior of pango which shows up here,
> not anything really wanted by AT-SPI.  I however don't know how to
> reproduce the issue you are encountering).

I'm using libatspi, versions from jessie to sid, and I tried upgrading
libpango to sid too.
I'm using the "atspi_text_get_character_extents" function from libatspi:
AtspiRect *size = atspi_text_get_character_extents(text, event->detail1, ATSPI_COORD_TYPE_SCREEN, NULL);

I'm using it with a listener like so:
atspi_event_listener_register (listener, "object:text-caret-moved", NULL)

Problem occurs when (any) text entry is empty, or when the line or
paragraph is empty.
When clicking on a text entry (firefox), atspi emits two events:
- one event that focuses the paragraph
- one event for the caret, for which the extent is that of the full
  paragraph width/height.

hope that helps
-- 
Ksamak
Free software hacktivist

_______________________________________________
gnome-accessibility-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
signature.asc (application/pgp-signature, 801 B)
-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJYMsdrAAoJEBTZQpGAfVCWi4QP/1qFItbTKXO6fcorNqF/Cpjo
lBxfApG0JbHVv9kDoqwmfr2WXwH9Gte8zri1paME9kZFn85wthdDzi1yFWS3J9Qh
49WpBskU80NkktLm92wKTwuWADvPpn1F+boV6f8JldnRvNwTLeCVqXYZJMjxWFkf
ZP+U7TrFJsaezW4iM9b5MkFIvwiHNRHSRoApcxxhhhnkMYWIF+gg9ryTBfbh9tgO
l1adr6ffqFmmn3JOKcccQdK9XfAhexfk3JPrxOAiD3Y7SagR+6UW/xhtzHZco0n1
AO84sQJb/GGJngDK60DoaZTutBfwlL3sG2uMtHzfEMvRbO1Q1//SygFt894CQeCi
vTantV+d20CUHrtjuxHBm0bn3MAct3ioLc79r1fsuzyYPdEGpoO5Z2Wj2ohyIXWi
gHs/eh1H3/IHKK5BN1N7uLY1bT3/oR4BhmNfv1MMX+wSr3Jje7T2yXv8/nNkhiy6
NLhYWab7vJPLepMzX984zvXnpamSzyjmNUCPE2yIi8/Ov941sfz5UVppZD7lRWjw
21zGUHr6O28kgGk5WPtub3RP2Jz63x+CPj0TC4xLcR1ZYc+U01O6VS0FPaP4eGsS
0NxI1/aEdaF7Mu7eR4Ar0LcC0F3Tb66PxV6H4hO+x+daPh2jiUaK+LrSF1WQN7AP
WFSRcMH7tYm4ZY8l0fb5
=ZlKz
-----END PGP SIGNATURE-----