internal static void AccessibilitySettingsChanged(AView control, Element element)
        {
            string _defaultHint = String.Empty;
            string _defaultContentDescription = String.Empty;
            ImportantForAccessibility?_defaultImportantForAccessibility = null;

            AccessibilitySettingsChanged(control, element, _defaultHint, _defaultContentDescription, ref _defaultImportantForAccessibility);
        }
        internal static void SetFocusable(AView control, Element element, ref bool?defaultFocusable, ref ImportantForAccessibility?defaultImportantForAccessibility)
        {
            if (element == null || control == null)
            {
                return;
            }

            if (!defaultFocusable.HasValue)
            {
                defaultFocusable = control.Focusable;
            }
            if (!defaultImportantForAccessibility.HasValue)
            {
                defaultImportantForAccessibility = control.ImportantForAccessibility;
            }

            bool?isInAccessibleTree = (bool?)element.GetValue(AutomationProperties.IsInAccessibleTreeProperty);

            control.Focusable = (bool)(isInAccessibleTree ?? defaultFocusable);
            control.ImportantForAccessibility = !isInAccessibleTree.HasValue ? (ImportantForAccessibility)defaultImportantForAccessibility : (bool)isInAccessibleTree ? ImportantForAccessibility.Yes : ImportantForAccessibility.No;
        }
 internal static void AccessibilitySettingsChanged(AView control, Element element, ref string _defaultHint, ref string _defaultContentDescription, ref bool?_defaultFocusable, ref ImportantForAccessibility?_defaultImportantForAccessibility)
 {
     SetHint(control, element, ref _defaultHint);
     SetAutomationId(control, element);
     SetContentDescription(control, element, ref _defaultContentDescription, ref _defaultHint);
     SetFocusable(control, element, ref _defaultFocusable, ref _defaultImportantForAccessibility);
     SetLabeledBy(control, element);
 }
        internal static void SetImportantForAccessibility(AView control, Element element, ref ImportantForAccessibility?defaultImportantForAccessibility)
        {
            if (element == null || control == null)
            {
                return;
            }

            if (!defaultImportantForAccessibility.HasValue)
            {
                defaultImportantForAccessibility = control.ImportantForAccessibility;
            }

            bool?isInAccessibleTree = (bool?)element.GetValue(AutomationProperties.IsInAccessibleTreeProperty);

            control.ImportantForAccessibility = !isInAccessibleTree.HasValue ? (ImportantForAccessibility)defaultImportantForAccessibility : (bool)isInAccessibleTree ? ImportantForAccessibility.Yes : ImportantForAccessibility.No;

            bool?excludedWithChildren = (bool?)element.GetValue(AutomationProperties.ExcludedWithChildrenProperty);

            if (excludedWithChildren == true)
            {
                control.ImportantForAccessibility = ImportantForAccessibility.NoHideDescendants;
            }
        }
Exemple #5
0
        public static bool?SetFocusable(this global::Android.Views.View Control, Element Element, bool?_defaultFocusable = null, ImportantForAccessibility?_defaultImportantForAccessibility = null)
        {
            if (Element == null)
            {
                return(_defaultFocusable);
            }

            if (!_defaultFocusable.HasValue)
            {
                _defaultFocusable = Control.Focusable;
            }
            if (!_defaultImportantForAccessibility.HasValue)
            {
                _defaultImportantForAccessibility = Control.ImportantForAccessibility;
            }

            bool?isInAccessibleTree = (bool?)Element.GetValue(AutomationProperties.IsInAccessibleTreeProperty);

            Control.Focusable = (bool)(isInAccessibleTree ?? _defaultFocusable);
            Control.ImportantForAccessibility = !isInAccessibleTree.HasValue ? (ImportantForAccessibility)_defaultImportantForAccessibility : (bool)isInAccessibleTree ? ImportantForAccessibility.Yes : ImportantForAccessibility.No;

            return(_defaultFocusable);
        }
        internal static void SetImportantForAccessibility(AView control, Element element)
        {
            ImportantForAccessibility?_defaultImportantForAccessibility = null;

            SetImportantForAccessibility(control, element, ref _defaultImportantForAccessibility);
        }
        public static void SetImportantForAccessibility(this global::Android.Views.View Control, Element Element, ImportantForAccessibility?_defaultImportantForAccessibility = null)
        {
            if (!_defaultImportantForAccessibility.HasValue)
            {
                _defaultImportantForAccessibility = Control.ImportantForAccessibility;
            }

            bool?isInAccessibleTree = (bool?)Element.GetValue(AutomationProperties.IsInAccessibleTreeProperty);

            Control.ImportantForAccessibility = !isInAccessibleTree.HasValue ? (ImportantForAccessibility)_defaultImportantForAccessibility : (bool)isInAccessibleTree ? ImportantForAccessibility.Yes : ImportantForAccessibility.No;

            bool?excludedWithChildren = (bool?)Element.GetValue(AutomationProperties.ExcludedWithChildrenProperty);

            if (excludedWithChildren == true)
            {
                Control.ImportantForAccessibility = ImportantForAccessibility.NoHideDescendants;
            }
        }