summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gui/accessible/linux/atspiadaptor.cpp10
-rw-r--r--src/gui/accessible/qaccessible.cpp6
-rw-r--r--src/gui/accessible/qaccessible_base.h1
3 files changed, 17 insertions, 0 deletions
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<QLocale>());
+ 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)