AT-SPI standard's management of text objects

Ksamak <[email protected]> Tue, 15 Nov 2016 16:52:51 +0100
Newsgroups gmane.comp.gnome.accessibility.general
Message-ID <[email protected]>
Hi,
I'm currently working on focus tracking algorythm for a zoom for compiz
(the window manager), that I hope to be soon pushed upstream (ubuntu)
and in debian, which would add to the a11y of desktops for visually
impaired.

The treatment of text objects in libatspi2 is rather efficient, however,
with minor drawbacks for visual applications. One of which is caret
management on limit cases.

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 makes it really hard to track for a zoom without consistent
workarounds.

Another similar problem is when a text is empty, thereby no text
offset is present. The zoom area should then be on the caret, so one can
see one can start typing.
However, is it to my knowledge impossible to get a character extents, or
a caret position/size of some kind. The workaround is to extrapolate the
position of the beginning of the paragraph/text, which gives mediocre
results.

I know these behaviours are probably correct according to AT-SPI
standard, but is it voluntary? Has this problem ever surfaced in other
applications?
Is it possible to change any of that in the future, without impairing
the other applications relying on at-spi?

Thanks for reading.
-- 
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-----

iQIcBAEBCgAGBQJYKy9TAAoJEBTZQpGAfVCWUHgQAOkkkH9xbKaCFMQRMkVVjxuc
iXRlakYPBouLHrmq4pl5VZq+BcgaRrURxQ3s8KkYZydwx4UdE+nlX6pexBQseCvg
Nlc2HYd8+4g0hQVKlr6oAMxflt8SUjrBfnLrEERPc4qht7jO9KG8ERYFs6zy24ad
ubtB8kbZJgTOb6AGuKVe/SkDRtI8Fon9bd+k9Yyaa9K5roMabo0jmgE1K4aJmfp0
q6WD6b0t9LEP39AKivAP4Rn7D5ASrVwlgIw4aJXN/0oSo5H36EoUoPh/wPaDa7td
rg1q6YS3xojU5XT5nXy5IYZBk7t6SfeSR0rDspgOlXJBTiON0SxqK0KEy4b4sYYR
NH0EXwtK2yBXCR/cyI57ks5jGA8/pasoW7CsX/by7ZVF4j9vnAHC4BkC2QC+fcFf
ap2pUfJT/CRzcGIt7fGIooUSAg98/jFAEMhgIo4n4PMaT+FkEIRXtBFu9knsJxKv
uHdn1PXd0PbRRjqAbrf0M4wP3ercBQSqqOssOtFFnjttaJJ42XtJYoid9Fycss3G
tsH+/Zo0+OU7SVdQOSbyMJ2NHbkBNEIh1AOXl80GXxwXtIZIt6gUES1yrccmL1PI
pLUNXU8K0UDvqMek8Dh/H6tyfYE64EMF8lRu7TrsPhsWbW5w/NpOCDMg/ReMfeIk
hkcvieEX7b+TbI3iz/AG
=y1o9
-----END PGP SIGNATURE-----