office-gobmx/vcl/inc/qt5
Michael Weghorn 1b6963cda0 tdf#158030 qt a11y: Implement new QAccessibleAttributesInterface
Implement the new `QAccessibleAttributesInterface`
just added upstream to Qt in qtbase commit [1]

    commit fb5ffe862688a87cfc136113e067bcba0c49a7ae
    Author:     Michael Weghorn <m.weghorn@posteo.de>
    AuthorDate: Fri Nov 10 18:25:02 2023 +0100
    Commit:     Volker Hilsheimer <volker.hilsheimer@qt.io>
    CommitDate: Thu Feb 29 04:44:22 2024 +0000

        a11y: Add new QAccessibleAttributesInterface

, see also QTBUG-119057. [2]
This API is available with Qt >= 6.8.

That interface makes it possible to report
object attributes that are bridged to the platform a11y
layers.
Use it to bridge the attributes retrieved from
the `XAccessibleExtendedAttributes` UNO interface.

Together with the pending upstream qtbase change that
implements the AT-SPI bridge for Linux [3], the "level"
AT-SPI object attribute for headings in Writer
is correctly reported to AT-SPI, making the
Orca screen reader announce "Heading level N" as expected.

For now, map not explicitly handled attributes
as key-value pairs to Qt via the special
`QAccessible::Attribute::Custom` attribute,
which causes them to be mapped to AT-SPI unchanged, and
can e.g. be used for testing the tdf#158030 scenario.

For common attributes - like those specified in the
Core Accessibility API Mappings specification [4] -
suggesting to add new enum values to the
`QAccessible::Attribute` enum to upstream Qt
and using those instead should be considered for the future.

Related commit for gtk4:

    commit 3aca2d9776
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Thu Nov 9 15:31:57 2023 +0100

        gtk4 a11y: Handle the "level" object attribute

[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=fb5ffe862688a87cfc136113e067bcba0c49a7ae
[2] https://bugreports.qt.io/browse/QTBUG-119057
[3] https://codereview.qt-project.org/c/qt/qtbase/+/517526
[4] https://www.w3.org/TR/core-aam-1.2/

Change-Id: Ibe357bfd72bb2dc6e44ad941e62737d5cac21e1c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159309
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-02-29 12:34:37 +01:00
..
QtAccessibleEventListener.hxx
QtAccessibleRegistry.hxx
QtAccessibleWidget.hxx
QtBitmap.hxx
QtClipboard.hxx
QtData.hxx
QtDragAndDrop.hxx
QtFilePicker.hxx
QtFont.hxx
QtFontFace.hxx
QtFrame.hxx
QtGraphics.hxx
QtGraphics_Controls.hxx
QtGraphicsBase.hxx
QtInstance.hxx
QtInstanceContainer.hxx
QtInstanceDialog.hxx
QtInstanceMessageDialog.hxx
QtInstanceWidget.hxx
QtInstanceWindow.hxx
QtMainWindow.hxx
QtMenu.hxx
QtObject.hxx
QtOpenGLContext.hxx
QtPainter.hxx
QtPrinter.hxx
QtSvpGraphics.hxx
QtSvpSurface.hxx
QtSystem.hxx
QtTimer.hxx
QtTools.hxx
QtTransferable.hxx
QtVirtualDevice.hxx
QtWidget.hxx
QtX11Support.hxx
QtXAccessible.hxx