[a11y] LibreOffice Calc exposes 2^31 children, freezes on `GetChildren`
Michael Meeks
michael.meeks at collabora.com
Mon Jun 10 14:37:19 UTC 2024
Hi all,
On 07/06/2024 14:20, Luuk van der Duim wrote:
> Thanks for your thoughts! I will gladly expand a bit.
Let me add my 2 cents; a spreadsheet can have 10^20 rows, and 2^14
columns - that's 34 bits already - so even in the case that you thought
you wanted to iterate them all over a remote bus - you don't.
Indeed - the whole idea is madness; there was this manages-descendants
hack in the past to try to tag such widgets to avoid iterating them.
My attempts to encourage people to expose only the visible (or near
visible) items in the past were not that productive; but I still firmly
believe this is the only sensible way to do this.
> What any screen-reader/AT would like is to offer best response times to
> users by caching objects up-front to minimize IPC round trips between AT
> and application.
Definitely!.
> or to the visible and showing objects only.
This is IMHO the only sensible approach; thanks for suggesting it;
though of course it is then ideal to have some nice navigation API
support wrapped around that - although ... we have a lot of well-known
navigation keyboard shortcuts in-place of course.
> Could LibreOffice please limit the reply-message to something reasonably
> sized? (Or at least legally sized?) This is currently a bit of a
> foot-gun with a public interface.
Not clear to me how LibreOffice can determine the byte size of the dbus
message that is serialized from the data we expose ;-) and this is
before we get into the "whole court transcript in one paragraph" horrors
that plague certain types of document ;-)
Best of luck with this; I would really recommend that we focus on
exposing only the data that is either visible - or better close to
visible (ie. within a page-up/page-down / etc. around the document),
with perhaps an extension of peers for eg. interesting headings in the
document so these can be cached and enumerated (ie. what you see in the
navigator).
Oddly, Writer - which could prolly cope rather better with exposing all
paragraphs set out by cropping to the visible content, whereas Calc
where this was always a silly idea tried to expose everything ;-)
Anyhow, just my 2 cents =)
ATB,
Michael.
--
michael.meeks at collabora.com <><, CEO Collabora Productivity
(M) +44 7795 666 147 - timezone usually UK / Europe
More information about the LibreOffice
mailing list