summaryrefslogtreecommitdiffstats
path: root/src/gui/accessible
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/accessible')
-rw-r--r--src/gui/accessible/linux/atspiadaptor.cpp11
-rw-r--r--src/gui/accessible/qaccessible.cpp3
-rw-r--r--src/gui/accessible/qaccessible_base.h3
3 files changed, 15 insertions, 2 deletions
diff --git a/src/gui/accessible/linux/atspiadaptor.cpp b/src/gui/accessible/linux/atspiadaptor.cpp
index e91539d6ee3..c2c1fc6596c 100644
--- a/src/gui/accessible/linux/atspiadaptor.cpp
+++ b/src/gui/accessible/linux/atspiadaptor.cpp
@@ -1688,6 +1688,17 @@ bool AtSpiAdaptor::accessibleInterface(QAccessibleInterface *interface, const QS
sendReply(connection, message, QVariant::fromValue(QDBusVariant(interface->text(QAccessible::Help))));
} else if (function == "GetState"_L1) {
quint64 spiState = spiStatesFromQState(interface->state());
+ if (QAccessibleAttributesInterface *attributesIface = interface->attributesInterface()) {
+ const QVariant orientationVariant =
+ attributesIface->attributeValue(QAccessible::Attribute::Orientation);
+ if (orientationVariant.isValid()) {
+ Q_ASSERT(orientationVariant.canConvert<Qt::Orientation>());
+ const Qt::Orientation orientation = orientationVariant.value<Qt::Orientation>();
+ setSpiStateBit(&spiState,
+ orientation == Qt::Horizontal ? ATSPI_STATE_HORIZONTAL
+ : ATSPI_STATE_VERTICAL);
+ }
+ }
if (interface->tableInterface()) {
// For tables, setting manages_descendants should
// indicate to the client that it cannot cache these
diff --git a/src/gui/accessible/qaccessible.cpp b/src/gui/accessible/qaccessible.cpp
index eeb06c535b8..43540d4e64d 100644
--- a/src/gui/accessible/qaccessible.cpp
+++ b/src/gui/accessible/qaccessible.cpp
@@ -458,6 +458,9 @@ Q_STATIC_LOGGING_CATEGORY(lcAccessibilityCore, "qt.accessibility.core");
differs from the application's default locale, e.g. for documents
or paragraphs within a document that use a language that differs
from the application's user interface language.
+ \value [since 6.11] Orientation value type: \a Qt::Orientation
+ Orientation of the element. This attribute conceptually matches
+ the "aria-orientation" property in ARIA.
\sa QAccessibleAttributesInterface
*/
diff --git a/src/gui/accessible/qaccessible_base.h b/src/gui/accessible/qaccessible_base.h
index 31b97880ffc..3881c6346a0 100644
--- a/src/gui/accessible/qaccessible_base.h
+++ b/src/gui/accessible/qaccessible_base.h
@@ -156,8 +156,6 @@ public:
quint64 searchEdit : 1;
- // quint64 horizontal : 1;
- // quint64 vertical : 1;
// quint64 invalidEntry : 1;
// quint64 managesDescendants : 1;
// quint64 singleLine : 1; // we have multi line, this is redundant.
@@ -380,6 +378,7 @@ public:
Custom,
Level,
Locale,
+ Orientation,
};
Q_ENUM(Attribute)