diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2025-01-27 14:19:10 +0100 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2025-01-27 22:24:12 +0100 |
commit | 76677a804f23ebd1fac0a098883c861816103b91 (patch) | |
tree | 98c4a2ff66c0be6185c12298c272869a01771a84 /include | |
parent | 2443e39e7b9623d3b69a38af5419a54ae0601e40 (diff) |
a11y: Drop non-functional bits from AccessibleGridControl::getAccessibleAtPoint
XAccessibleComponent::getAccessibleAtPoint should return
the direct child at the given point.
AccessibleGridControl can have up to 3 children,
see AccessibleGridControl::getAccessibleChild:
* a row header (AccessibleGridControlHeader)
* a column header (AccessibleGridControlHeader)
* the table (AccessibleGridControlTable)
TableControl::ConvertPointToControlIndex on the other
hand returns the child index of a cell within
the table, so could only be relevant when
calling AccessibleGridControlTable::getAccessibleAtPoint on the
AccessibleGridControlTable child
(and AccessibleGridControlTable::getAccessibleAtPoint does similar,
but uses a method called TableControl::ConvertPointToCellAddress
instead).
In addition, TableControl::CreateAccessibleControl that
was called with the index retrieved that way was
warning it should be overriden (Where?) and unconditionally
returning nullptr.
Drop that broken code path. The remaining logic
to iterate over the children looks reasonable in principle.
Without this commit in place, using the "Inspect object under mouse"
feature in Accerciser when the mouse is over a cell of the grid control
of the sample doc attachment 198647 from tdf#164783 with the qt6 VCL plugin
would result in the top-level's TableControl's a11y object getting selected
in Accerciser's treeview of the LO a11y and its full area getting
highlighted.
Now, it selects/highlights the column header cell - even if the mouse cursor
is over one of the regular cells - which is still not fully correct,
but that is a different issue.
Change-Id: Ib4a0d05145c66a96dcb72a6a50805182c17fb2f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180792
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Diffstat (limited to 'include')
-rw-r--r-- | include/vcl/accessibletable.hxx | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/vcl/accessibletable.hxx b/include/vcl/accessibletable.hxx index 467aa8262149..16d328ca880d 100644 --- a/include/vcl/accessibletable.hxx +++ b/include/vcl/accessibletable.hxx @@ -51,7 +51,6 @@ public: virtual sal_Int32 GetCurrentRow() const = 0; /** @return The position of the current column. */ virtual sal_Int32 GetCurrentColumn() const = 0; - virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessibleControl( sal_Int32 _nIndex )= 0; virtual OUString GetAccessibleObjectName(AccessibleTableControlObjType eObjType, sal_Int32 _nRow, sal_Int32 _nCol) const= 0; virtual void GoToCell( sal_Int32 _nColumnPos, sal_Int32 _nRow )= 0; virtual bool HasColHeader() = 0; |