Calc tables used to support both the selection and table accessible interfaces. This is no longer the case. Only selection appears to be implemented. This breaks functionality in Orca that assumes tables will implement the table interface.
Steps to Reproduce:
2.Launch the Accerciser accessibility inspector
3.Inspect the Calc table
The table does not implement the table interface.
The table does implement the table interface.
User Profile Reset: No
I (Orca maintainer) don't yet know what all might be broken as a consequence of this. It definitely breaks the command in which Orca speaks the selected cell range. :(
Colomban/Michael: thought you might be interested here since it concerns accessibility + the fact that the reporter is the Orca's maintainer.
Created attachment 188776 [details]
Screenshot showing table interface with Accerciser with Debian-provided 18.104.22.168
(In reply to Joanmarie Diggs from comment #0)
> I (Orca maintainer) don't yet know what all might be broken as a consequence
> of this. It definitely breaks the command in which Orca speaks the selected
> cell range. :(
That would indeed be very unfortunate.
I can't reproduce here yet, though, with the Debian-packaged 22.214.171.124 on Debian testing and the gtk3 VCL plugin, s. screenshot attachment 188776 [details].
Where does your version come from (distro, LO website download)? Can you paste the information from Help > About LibreOffice?
@Joanmarie: As a side note, whenever reporting an Orca-related issue, feel free to add the "accessibility" keyword and/or add bug 36549 in the "Blocks" field, so people keeping track of those are notified right away.
Created attachment 188785 [details]
Screenshot from Fedora 38
Here's my corresponding screenshot.
I can reproduce in a Fedora 38 VM, with both, the Fedora-package LO as well as the TDF download. I don't see the problem with the same version (exact same binary) on Debian testing.
With the same LO version and the kf5 VCL plugin (SAL_USE_VCLPLUGIN=kf5), the Table interface is exposed just fine.
The "Editable Cells" sample from gtk3-demo also works fine (table interface is exposed) in my Fedora VM, so it's not a problem for gtk3 apps in general.
Maybe there is some difference in the gtk/atk stack triggering this issue in LO.
Version: 126.96.36.199 (X86_64) / LibreOffice Community
Build ID: ca8fe7424262805f223b9a2334bc7181abbcbf5e
CPU threads: 2; OS: Linux 6.4; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
(In reply to Joanmarie Diggs from comment #0)
> The table does not implement the table interface.
Seems that the Table interface is in general implemented, but something is broken that results in Accerciser not displaying it (and probably also Orca failing at some point). Querying the Table interface manually in Accerciser's IPython console generally works:
In : acc.get_interfaces()
Out: ['Accessible', 'Collection', 'Component', 'Selection', 'Table']
In : acc.queryTable()
Out: <pyatspi.table.Table at 0x7f099195b590>
In : table = acc.queryTable()
In : table.nRows
In : table.nColumns
Actually, the fact that Accerciser doesn't show the Table interface looks like an Accerciser bug: It errors out when handling the Selection interface, then doesn't handle any other interfaces any more.
The Table interface is shown just fine again for me when disabling the "problematic" part in Accerciser in a quick test:
diff --git a/plugins/interface_view.py b/plugins/interface_view.py
index f94519c..e450f03 100644
@@ -917,10 +917,12 @@ class _SectionSelection(_InterfaceSection):
if acc.childCount > 50:
theme = gtk.IconTheme.get_default()
- [theme.load_icon('gtk-dialog-warning', 24,
- _('Too many selectable children'), None])
+ # DEMO: skip this, will show Table then...
+ # TODO: fix
+ # [theme.load_icon('gtk-dialog-warning', 24,
+ # gtk.IconLookupFlags.USE_BUILTIN),
+ # _('Too many selectable children'), None])
# Set section as insensitive, but leave expander label sensitive.
section_widgets = self.expander.get_children()
I'll take a look at this on the Accerciser side, but to me, it looks unrelated to LO by itself, just triggers that path because a Calc table has more than 50 children.
@Joanmarie: Could you please check if the problem with selected cells announcement in Orca (if any) is actually related to this or has another root cause? (I currently can't check with Orca in my Fedora VM, doesn't have audio...)
(In reply to Michael Weghorn from comment #8)
> I'll take a look at this on the Accerciser side, but to me, it looks
> unrelated to LO by itself, just triggers that path because a Calc table has
> more than 50 children.
Accerciser merge request:
With that in place, the Table interface is shown just fine on Fedora 38 as well, so I'm closing this as NOTOURBUG.
If there are other issues preventing Orca from properly announcing cells, please create a separate bug report for that.