summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Weghorn <m.weghorn@posteo.de>2023-07-13 17:15:40 +0200
committerMichael Weghorn <m.weghorn@posteo.de>2023-08-30 20:05:20 +0200
commitbeb1a48ef7b6bb19fee638bd58e494c41b776248 (patch)
tree0255afb9151006a74ff1612a20044e638c3e5ba7
parent5dc9692e48ea15ab3da4283997547a2849f1944e (diff)
a11y atspi: Map ButtonMenu role to AT-SPI equivalent
at-spi2-core commit [1] commit ed16f50e4930e32c29f80552eb698baa35b4677e Author: Fushan Wen <qydwhotmail@gmail.com> Date: Thu Jul 21 21:49:32 2022 +0800 Add `ATK_ROLE_PUSH_BUTTON_MENU` This role allows to specify a button will open a menu. It's widely used in Hamburger buttons, and Qt has QAccessible:ButtonMenu role for it. added a new ATSPI_ROLE_PUSH_BUTTON_MENU role to AT-SPI, so map to that from QAccessible::ButtonMenu when building against a recent enough AT-SPI version. Note that only a follow-up fix [2] for the above-mentioned at-spi2-core commit increased ATSPI_ROLE_COUNT accordingly: commit b0a062fd02c0cef5cc73b67aae282216856b8d8a Author: Michael Weghorn <m.weghorn@posteo.de> Date: Thu Jul 13 14:15:33 2023 +0200 Increase ATSPI_ROLE_COUNT after ed16f50e4 commit ed16f50e4930e32c29f80552eb698baa35b4677e Date: Thu Jul 21 21:49:32 2022 +0800 Add `ATK_ROLE_PUSH_BUTTON_MENU` added a new role, so increase the role count accordingly. [1] https://gitlab.gnome.org/GNOME/at-spi2-core/-/commit/ed16f50e4930e32c29f80552eb698baa35b4677e [2] https://gitlab.gnome.org/GNOME/at-spi2-core/-/commit/b0a062fd02c0cef5cc73b67aae282216856b8d8a Change-Id: If7082c7478c95c6cc68d1c735de47933599f8d2b Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
-rw-r--r--src/gui/accessible/linux/qspiaccessiblebridge.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gui/accessible/linux/qspiaccessiblebridge.cpp b/src/gui/accessible/linux/qspiaccessiblebridge.cpp
index f59d8be18b..2daadd9830 100644
--- a/src/gui/accessible/linux/qspiaccessiblebridge.cpp
+++ b/src/gui/accessible/linux/qspiaccessiblebridge.cpp
@@ -205,7 +205,11 @@ static RoleMapping map[] = {
//: Role of an accessible object
{ QAccessible::ButtonDropDown, ATSPI_ROLE_PUSH_BUTTON, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "button with drop down") },
//: Role of an accessible object
+#if ATSPI_ROLE_COUNT > 130
+ { QAccessible::ButtonMenu, ATSPI_ROLE_PUSH_BUTTON_MENU, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "button menu") },
+#else
{ QAccessible::ButtonMenu, ATSPI_ROLE_PUSH_BUTTON, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "button menu") },
+#endif
//: Role of an accessible object - a button that expands a grid.
{ QAccessible::ButtonDropGrid, ATSPI_ROLE_PUSH_BUTTON, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "button with drop down grid") },
//: Role of an accessible object - blank space between other objects.