[NUI][AT-SPI] Add AccessibilityDynamicAttributes (#5299)
authorArtur Świgoń <aswigon@yandex.com>
Wed, 24 May 2023 04:38:42 +0000 (06:38 +0200)
committerGitHub <noreply@github.com>
Wed, 24 May 2023 04:38:42 +0000 (13:38 +0900)
Co-authored-by: Artur Świgoń <a.swigon@samsung.com>
src/Tizen.NUI/src/public/BaseComponents/ViewAccessibility.cs
src/Tizen.NUI/src/public/BaseComponents/ViewAccessibilityWrappers.cs

index efae6ea..c1ba5b3 100755 (executable)
@@ -61,6 +61,12 @@ namespace Tizen.NUI.BaseComponents
         [EditorBrowsable(EditorBrowsableState.Never)]
         public Dictionary<string, string> AccessibilityAttributes { get; } = new Dictionary<string, string>();
 
+        /// <summary>
+        /// Dictionary of dynamically-evaluated accessibility attributes (key-value pairs of strings).
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Dictionary<string, Func<string>> AccessibilityDynamicAttributes { get; } = new Dictionary<string, Func<string>>();
+
         ///////////////////////////////////////////////////////////////////
         // ************************** Highlight ************************ //
         ///////////////////////////////////////////////////////////////////
index 5874cd1..7aa4a96 100644 (file)
@@ -126,6 +126,11 @@ namespace Tizen.NUI.BaseComponents
             {
                 callback(attribute.Key, attribute.Value, userData);
             }
+
+            foreach (var attribute in view.AccessibilityDynamicAttributes)
+            {
+                callback(attribute.Key, attribute.Value.Invoke(), userData);
+            }
         }
 
         private static IntPtr AccessibilityGetDescriptionWrapper(IntPtr self)