diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2022-09-03 00:22:42 +0200 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2022-09-03 23:17:52 +0200 |
commit | dd5f021e08b0f6da1b5330c37db4c759e35941c6 (patch) | |
tree | b8a1c3ae21bb9703963f6c590f1205635957dc4d /vcl/unx/gtk3_kde5 | |
parent | 318e8578fa5816070610f83b752b6dc5c1697f93 (diff) |
tdf#150683 gtk3 a11y: Expose AtkTableCell interface for cells
While LO doesn't have any UNO a11y interface
for table cells, the methods for the `AtkTableCell`
interface can be implemented by using the methods
from the `XAccessibleTable` interface of the table
(which is the parent of the cell), similar to
the way this was impemented for winaccessibility
and the qt5/qt6/kf5 VCL plugins in
commit 97a88e30e2e084ab860635ff4e0a03442d8a12af
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Wed Sep 8 14:37:53 2021 +0100
tdf#100086 tdf#124832 wina11y: Implement IAccessibleTableCell
and
commit 6735a37747a3443ebd1c29c870a5eb26990350f2
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Tue Sep 21 14:47:51 2021 +0200
qt5 a11y: Implement QAccessibleTableCellInterface
With this and the Orca commit to make use of the AT-SPI
TableCell interface to query the position for a cell [1],
announcing selected cells that have a cell/child index
that doesn't fit into 32 bit now also works for the
gtk3 VCL plugin, see the full commit message of
commit 206543c7bef58fc559852553a3b2faba0b604259
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Fri Sep 2 13:06:08 2022 +0200
[API CHANGE] tdf#150683 a11y: Switch a11y child index to 64 bit
for more background information.
In a quick test with Accerciser and the gtk3 VCL plugin
as follows, the output looked as expected:
1) start LO Writer, "Table" -> "Insert Table"
2) select to create table with 2 rows, 2 columns
3) make sure "Heading" is checked, "Heading rows": 1
4) "Insert"
5) in the first row, type "First heading" into first column,
"Second heading" into second column
5) start Accerciser
7) select the table cell element "A2" in Accerciser's treeview of the a11y
hierarchy (which refers to the table cell in the second row, first column)
8) type these in Accerciser's IPython console:
In [1]: acc.queryTableCell()
Out[1]: <pyatspi.tablecell.TableCell at 0x7fa17cf2b550>
In [2]: acc.queryTableCell().position
Out[2]: (1, row=1, column=0)
In [3]: acc.queryTableCell().rowSpan
Out[3]: 1
In [4]: acc.queryTableCell().columnSpan
Out[4]: 1
In [5]: acc.queryTableCell().get_table()
Out[5]: <Atspi.Accessible object at 0x7fa17cf975c0 (AtspiAccessible at 0x55bfe77b4e10)>
In [6]: acc.queryTableCell().get_table().name
Out[6]: 'Table1-1'
In [7]: acc.queryTableCell().get_columnHeaderCells()[0]
Out[7]: <Atspi.Accessible object at 0x7fa17d2e7b00 (AtspiAccessible at 0x55bfe77ab240)>
In [8]: acc.queryTableCell().get_columnHeaderCells()[0].name
Out[8]: 'A1'
[1] https://gitlab.gnome.org/GNOME/orca/-/commit/cb105d4d21c09d3e832273b493a407e8b48887fb
Change-Id: Ia6ee90bea5c2f2faef6ed269981702f36496a3e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139278
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Diffstat (limited to 'vcl/unx/gtk3_kde5')
-rw-r--r-- | vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atktablecell.cxx | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atktablecell.cxx b/vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atktablecell.cxx new file mode 100644 index 000000000000..fdbb6f62633d --- /dev/null +++ b/vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atktablecell.cxx @@ -0,0 +1,12 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include "../../gtk3/a11y/atktablecell.cxx" + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |