https://bugs.documentfoundation.org/show_bug.cgi?id=156657

            Bug ID: 156657
           Summary: Exposing all Calc cells in accessibility tree is
                    incompatible with AtspiCollection
           Product: LibreOffice
           Version: 7.5.5.2 release
          Hardware: All
                OS: Linux (All)
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Calc
          Assignee: libreoffice-bugs@lists.freedesktop.org
          Reporter: jdi...@igalia.com

Description:
The AtspiCollection interface, while originally created for web content, works
on all ATK implementations and is a much more performant (sometimes 10x faster)
way for Orca to locate objects of interest compared to iterating recursively
through the accessibility tree. As a result, I (Orca maintainer) am slowly but
surely migrating over to preferring AtspiCollection.

Unfortunately, the fact that Calc exposes all cells in the accessibility tree
means Orca can not apply this to at least Calc and possible not to LibreOffice
at all (just to be safe). See steps and attached python tool which makes Calc
completely unresponsive.

Steps to Reproduce:
1. Launch Writer
2. Launch Calc
3. Launch the to-be-attached python tool in a terminal
4. Click on the Writer window
5. Click on the Calc window

Actual Results:
Each time a window is activated, the script goes looking for a single status
bar using AtspiCollection. It succeeds with Writer and errors out with Calc and
exits. But even though the tool has exited, Calc is non-responsive.

Here's the output from the tool:

======================================================
Searching in Untitled 1 - LibreOffice Writer frame
Found  status bar


Searching in Untitled 2 - LibreOffice Calc frame

EXCEPTION: atspi_error: timeout from dbind (1)
Traceback (most recent call last):
  File "/home/jd/Desktop/./listener.py", line 35, in on_event
    if not objs:
           ^^^^
UnboundLocalError: cannot access local variable 'objs' where it is not
associated with a value
======================================================

Expected Results:
Calc wouldn't become completely unresponsive.


Reproducible: Always


User Profile Reset: No

Additional Info:
I filed https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/138 to ask Atspi
to not descend ginormous tables.

As you will see in a later comment, I also suggested that Calc should consider
doing what web app authors with giant grids do, namely only include a subset of
the conceptual table in the DOM and use ARIA properties to expose stuff ATs
should report to end users.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to