diff options
Diffstat (limited to 'src/gui/accessible')
| -rw-r--r-- | src/gui/accessible/linux/atspiadaptor.cpp | 11 | ||||
| -rw-r--r-- | src/gui/accessible/qaccessible.cpp | 3 | ||||
| -rw-r--r-- | src/gui/accessible/qaccessible_base.h | 3 |
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) |
