office-gobmx/winaccessibility/Library_uacccom.mk
Michael Weghorn 97a88e30e2 tdf#100086 tdf#124832 wina11y: Implement IAccessibleTableCell
Add a new class 'AccTableCell' that implements the
IAccessibleTableCell interface from the IAccessible2 spec
and add what's needed to expose it to accessibility tools
via COM.

Since there's no specific XInterface for table cells
that an XAccessible's context could be queried for,
make use of the fact that a table cell's
parent is a table, i.e. its accessible context implements
XAccessibleTable.

AccTableCell keeps a reference to that table and remembers the
cell's index in the parent to retrieve information
on the cell from there.

This addresses the

> At least for LibreOffice Table Cells don't implement
> IAccessibleTableCell, and therefore there's no way to get the row and
> column span. LibreOffice itself also does not expose the merged state in
> the accessible name of the cell.

comment from [1] (which is the NVDA counterpart for LO's
tdf#124832) and may also help for tdf#100086,
though more work will be needed on LibreOffice and/or NVDA
side for both issues.

[1] https://github.com/nvaccess/nvda/issues/9310

Change-Id: I0f53212d14ee17c760b9e6c91be2154a1b25d862
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121821
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-09-08 20:06:00 +02:00

83 lines
2.2 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
#
# 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/.
#
#
$(eval $(call gb_Library_Library,UAccCOM))
$(eval $(call gb_Library_use_custom_headers,UAccCOM,winaccessibility/ia2/idl))
$(eval $(call gb_Library_set_include,UAccCOM,\
$$(INCLUDE) \
-I$(SRCDIR)/winaccessibility/inc \
$(foreach i,$(ATL_INCLUDE), -I$(i)) \
))
$(eval $(call gb_Library_add_defs,UAccCOM,\
-DUACCCOM_DLLIMPLEMENTATION \
))
$(eval $(call gb_Library_use_sdk_api,UAccCOM))
$(eval $(call gb_Library_add_nativeres,UAccCOM,UAccCOM))
$(eval $(call gb_Library_add_exception_objects,UAccCOM,\
winaccessibility/source/UAccCOM/AccAction \
winaccessibility/source/UAccCOM/AccActionBase \
winaccessibility/source/UAccCOM/AccComponent \
winaccessibility/source/UAccCOM/AccComponentBase \
winaccessibility/source/UAccCOM/AccEditableText \
winaccessibility/source/UAccCOM/AccHyperLink \
winaccessibility/source/UAccCOM/AccHypertext \
winaccessibility/source/UAccCOM/AccImage \
winaccessibility/source/UAccCOM/AccRelation \
winaccessibility/source/UAccCOM/AccTable \
winaccessibility/source/UAccCOM/AccTableCell \
winaccessibility/source/UAccCOM/AccText \
winaccessibility/source/UAccCOM/AccTextBase \
winaccessibility/source/UAccCOM/AccValue \
winaccessibility/source/UAccCOM/EnumVariant \
winaccessibility/source/UAccCOM/MAccessible \
winaccessibility/source/UAccCOM/StdAfx \
winaccessibility/source/UAccCOM/UAccCOM \
winaccessibility/source/UAccCOM/UNOXWrapper \
))
$(eval $(call gb_Library_add_ldflags,UAccCOM,\
/DEF:$(SRCDIR)/winaccessibility/source/UAccCOM/UAccCOM.def \
))
$(eval $(call gb_Library_use_libraries,UAccCOM,\
vcl \
comphelper \
cppu \
sal \
))
$(eval $(call gb_Library_use_externals,UAccCOM,\
boost_headers \
))
$(eval $(call gb_Library_use_system_win32_libs,UAccCOM,\
oleacc \
advapi32 \
delayimp \
kernel32 \
ole32 \
oleaut32 \
shlwapi \
user32 \
uuid \
))
$(eval $(call gb_Library_add_libs,UAccCOM,\
$(ATL_LIB)/atls.lib \
))
# vim:set noet sw=4 ts=4: