protected override void Update(global::Android.Views.View view, SemanticEffectRouter effect) { var isHeading = SemanticEffect.GetHeadingLevel(Element) != CommunityToolkit.Effects.Semantic.HeadingLevel.None; ViewCompat.SetAccessibilityHeading(view, isHeading); var desc = SemanticEffect.GetDescription(Element); var hint = SemanticEffect.GetHint(Element); if (!string.IsNullOrEmpty(hint) || !string.IsNullOrEmpty(desc)) { if (semanticAccessibilityDelegate == null) { semanticAccessibilityDelegate = new SemanticAccessibilityDelegate(Element); ViewCompat.SetAccessibilityDelegate(view, semanticAccessibilityDelegate); } } else if (semanticAccessibilityDelegate != null) { semanticAccessibilityDelegate = null; ViewCompat.SetAccessibilityDelegate(view, null); } if (semanticAccessibilityDelegate != null) { semanticAccessibilityDelegate.Element = Element; view.ImportantForAccessibility = global::Android.Views.ImportantForAccessibility.Yes; } }
public static void UpdateSemantics(this View platformView, IView view) { var semantics = view.Semantics; if (semantics == null) { return; } ViewCompat.SetAccessibilityHeading(platformView, semantics.IsHeading); }
public static void UpdateSemantics(this AView nativeView, IView view) { var semantics = view.Semantics; if (semantics == null) { return; } nativeView.ContentDescription = semantics.Description; ViewCompat.SetAccessibilityHeading(nativeView, semantics.IsHeading); }
protected override void Update(global::Android.Views.View view, SemanticEffectRouter effect) { var isHeading = SemanticEffect.GetHeadingLevel(Element) != CommunityToolkit.Effects.Semantic.HeadingLevel.None; ViewCompat.SetAccessibilityHeading(view, isHeading); var a11yVisibility = SemanticEffect.GetSemanticInclusion(Element); switch (a11yVisibility) { case SemanticInclusion.Default: ViewCompat.SetImportantForAccessibility(view, ViewCompat.ImportantForAccessibilityAuto); break; case SemanticInclusion.Include: ViewCompat.SetImportantForAccessibility(view, ViewCompat.ImportantForAccessibilityYes); break; case SemanticInclusion.Exclude: ViewCompat.SetImportantForAccessibility(view, ViewCompat.ImportantForAccessibilityNo); break; case SemanticInclusion.ExcludeWithChildren: ViewCompat.SetImportantForAccessibility(view, ViewCompat.ImportantForAccessibilityNoHideDescendants); break; } var desc = SemanticEffect.GetDescription(Element); var hint = SemanticEffect.GetHint(Element); if (!string.IsNullOrWhiteSpace(hint) || !string.IsNullOrWhiteSpace(desc)) { if (semanticAccessibilityDelegate == null) { semanticAccessibilityDelegate = new SemanticAccessibilityDelegate(Element); ViewCompat.SetAccessibilityDelegate(view, semanticAccessibilityDelegate); } } else if (semanticAccessibilityDelegate != null) { semanticAccessibilityDelegate = null; ViewCompat.SetAccessibilityDelegate(view, null); } if (semanticAccessibilityDelegate != null) { semanticAccessibilityDelegate.Element = Element; view.ImportantForAccessibility = global::Android.Views.ImportantForAccessibility.Yes; } }
protected override void Update(Android.Views.View view, A11YTools.NativeSemanticEffect effect) { bool isHeading = SemanticEffect.GetIsHeading(Element); ViewCompat.SetAccessibilityHeading(view, isHeading); }