diff --git a/src/gui/accessible/linux/atspiadaptor.cpp b/src/gui/accessible/linux/atspiadaptor.cpp index b45321add36..79fcecc7610 100644 --- a/src/gui/accessible/linux/atspiadaptor.cpp +++ b/src/gui/accessible/linux/atspiadaptor.cpp @@ -1640,6 +1640,16 @@ bool AtSpiAdaptor::accessibleInterface(QAccessibleInterface *interface, const QS } else if (function == "GetApplication"_L1) { sendReply(connection, message, QVariant::fromValue( QSpiObjectReference(connection, QDBusObjectPath(ATSPI_DBUS_PATH_ROOT)))); + } else if (function == "GetLocale"_L1) { + QLocale locale; + if (QAccessibleAttributesInterface *attributesIface = interface->attributesInterface()) { + const QVariant localeVariant = attributesIface->attributeValue(QAccessible::Attribute::Locale); + if (localeVariant.isValid()) { + Q_ASSERT(localeVariant.canConvert()); + locale = localeVariant.toLocale(); + } + } + sendReply(connection, message, QVariant::fromValue(QDBusVariant(locale.name()))); } else if (function == "GetChildren"_L1) { QSpiObjectReferenceArray children; const int numChildren = interface->childCount(); diff --git a/src/gui/accessible/qaccessible.cpp b/src/gui/accessible/qaccessible.cpp index 4ac8eafdf93..f605ada029c 100644 --- a/src/gui/accessible/qaccessible.cpp +++ b/src/gui/accessible/qaccessible.cpp @@ -450,6 +450,12 @@ Q_STATIC_LOGGING_CATEGORY(lcAccessibilityCore, "qt.accessibility.core"); Defines the hierarchical level of an element within a structure, e.g. the heading level of a heading. This attribute conceptually matches the "aria-level" property in ARIA. + \value [since 6.10] Locale value type: \a QLocale + Locale of the element. + This can be used to specify that an element has a locale that + 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. \sa QAccessibleAttributesInterface */ diff --git a/src/gui/accessible/qaccessible_base.h b/src/gui/accessible/qaccessible_base.h index 27a0fd4f92e..9538d126ede 100644 --- a/src/gui/accessible/qaccessible_base.h +++ b/src/gui/accessible/qaccessible_base.h @@ -377,6 +377,7 @@ public: enum class Attribute { Custom, Level, + Locale, }; Q_ENUM(Attribute)