Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions src/Tizen.NUI.Components/Controls/Menu.cs
Original file line number Diff line number Diff line change
Expand Up @@ -517,7 +517,8 @@ public void Post(Window window = null)

CalculateSizeAndPosition();
RegisterDefaultLabel();
NotifyAccessibilityStatesChange(new AccessibilityStates(AccessibilityState.Visible, AccessibilityState.Showing), AccessibilityStatesNotifyMode.Recursive);
NotifyAccessibilityStatesChange(new AccessibilityStates(AccessibilityState.Visible), AccessibilityStatesNotifyMode.Recursive);
NotifyAccessibilityPresentationChanged(true);
}

/// <summary>
Expand All @@ -529,7 +530,8 @@ public void Dismiss()
{
Hide();
UnregisterDefaultLabel();
NotifyAccessibilityStatesChange(new AccessibilityStates(AccessibilityState.Visible, AccessibilityState.Showing), AccessibilityStatesNotifyMode.Recursive);
NotifyAccessibilityStatesChange(new AccessibilityStates(AccessibilityState.Visible), AccessibilityStatesNotifyMode.Recursive);
NotifyAccessibilityPresentationChanged(false);
Dispose();
}

Expand Down
6 changes: 4 additions & 2 deletions src/Tizen.NUI.Components/Controls/Navigation/Navigator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1127,14 +1127,16 @@ private void NotifyAccessibilityStatesChangeOfPages(Page disappearedPage, Page a
View curHighlightedView = Accessibility.Accessibility.GetCurrentlyHighlightedView();
if (curHighlightedView != null)
{
curHighlightedView.NotifyAccessibilityStatesChange(new AccessibilityStates(AccessibilityState.Visible, AccessibilityState.Showing), AccessibilityStatesNotifyMode.Single);
curHighlightedView.NotifyAccessibilityStatesChange(new AccessibilityStates(AccessibilityState.Visible), AccessibilityStatesNotifyMode.Single);
curHighlightedView.NotifyAccessibilityPresentationChanged(false);
}
}

if (appearedPage != null)
{
appearedPage.RegisterDefaultLabel();
appearedPage.NotifyAccessibilityStatesChange(new AccessibilityStates(AccessibilityState.Visible, AccessibilityState.Showing), AccessibilityStatesNotifyMode.Single);
appearedPage.NotifyAccessibilityStatesChange(new AccessibilityStates(AccessibilityState.Visible), AccessibilityStatesNotifyMode.Single);
appearedPage.NotifyAccessibilityPresentationChanged(true);
}
}

Expand Down
29 changes: 29 additions & 0 deletions src/Tizen.NUI/src/internal/Interop/Interop.ControlDevel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,31 @@ internal static partial class ControlDevel
[DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Toolkit_DevelControl_GetAccessibilityStates")]
public static extern ulong DaliToolkitDevelControlGetAccessibilityStates(HandleRef arg1);

[EditorBrowsable(EditorBrowsableState.Never)]
[DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Toolkit_Control_GetAccessibilityStates")]
public static extern uint DaliToolkitControlGetAccessibilityStates(HandleRef arg1);

[EditorBrowsable(EditorBrowsableState.Never)]
[DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Toolkit_Control_SetAccessibilityStates")]
public static extern void DaliToolkitControlSetAccessibilityStates(HandleRef arg1, uint arg2);

[EditorBrowsable(EditorBrowsableState.Never)]
[DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Toolkit_Control_AddAccessibilityState")]
public static extern void DaliToolkitControlAddAccessibilityState(HandleRef arg1, int arg2);

[EditorBrowsable(EditorBrowsableState.Never)]
[DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Toolkit_Control_RemoveAccessibilityState")]
public static extern void DaliToolkitControlRemoveAccessibilityState(HandleRef arg1, int arg2);

[EditorBrowsable(EditorBrowsableState.Never)]
[DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Toolkit_Control_SetAccessibilityState")]
public static extern void DaliToolkitControlSetAccessibilityState(HandleRef arg1, int arg2, int arg3);

[EditorBrowsable(EditorBrowsableState.Never)]
[DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Toolkit_Control_HasAccessibilityState")]
[return: MarshalAs(UnmanagedType.U1)]
public static extern bool DaliToolkitControlHasAccessibilityState(HandleRef arg1, int arg2);

[EditorBrowsable(EditorBrowsableState.Never)]
[DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Toolkit_DevelControl_NotifyAccessibilityStateChange")]
public static extern IntPtr DaliToolkitDevelControlNotifyAccessibilityStateChange(HandleRef arg1, ulong arg2, int arg3);
Expand All @@ -89,6 +114,10 @@ internal static partial class ControlDevel
[DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Accessibility_EmitAccessibilityStateChangedEvent")]
public static extern IntPtr DaliAccessibilityEmitAccessibilityStateChangedEvent(HandleRef arg1, int arg2_state, int arg3);

[EditorBrowsable(EditorBrowsableState.Never)]
[DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Accessibility_NotifyAccessibilityPresentationChanged")]
public static extern void DaliAccessibilityNotifyAccessibilityPresentationChanged(HandleRef arg1, int arg2_presented);

[EditorBrowsable(EditorBrowsableState.Never)]
[DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Accessibility_EmitTextInsertedEvent")]
public static extern IntPtr DaliAccessibilityEmitTextInsertedEvent(HandleRef arg1, int arg2_pos, int arg3_len, string arg3_content);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ internal static partial class ViewProperty
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_View_Property_AUTOMATION_ID_get")]
public static extern int AutomationIdGet();

// Legacy compatibility only. Do not use for AccessibilityStatesV2; the native symbol logs and returns INVALID_INDEX.
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_View_Property_ACCESSIBILITY_STATES_get")]
public static extern int AccessibilityStateGet();

Expand Down
11 changes: 11 additions & 0 deletions src/Tizen.NUI/src/public/BaseComponents/ViewAccessibility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,17 @@ public void EmitAccessibilityStateChangedEvent(AccessibilityState state, bool eq
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}

/// <summary>
/// Notifies accessibility clients that this view's presentation state changed.
/// </summary>
/// <param name="presented">True when this view is presented, otherwise false</param>
[EditorBrowsable(EditorBrowsableState.Never)]
public void NotifyAccessibilityPresentationChanged(bool presented)
{
Interop.ControlDevel.DaliAccessibilityNotifyAccessibilityPresentationChanged(SwigCPtr, Convert.ToInt32(presented));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}

/// <summary>
/// Emits accessibility text inserted event.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public partial class View
[EditorBrowsable(EditorBrowsableState.Never)]
public AccessibilityStatesV2 GetAccessibilityStatesV2()
{
return (AccessibilityStatesV2)Object.InternalGetPropertyInt(SwigCPtr, Property.AccessibilityState);
return (AccessibilityStatesV2)Interop.ControlDevel.DaliToolkitControlGetAccessibilityStates(SwigCPtr);
}

/// <summary>
Expand All @@ -48,7 +48,7 @@ public AccessibilityStatesV2 GetAccessibilityStatesV2()
[EditorBrowsable(EditorBrowsableState.Never)]
public void SetAccessibilityStatesV2(AccessibilityStatesV2 states)
{
Object.InternalSetPropertyInt(SwigCPtr, Property.AccessibilityState, (int)states);
Interop.ControlDevel.DaliToolkitControlSetAccessibilityStates(SwigCPtr, (uint)states);
}

/// <summary>
Expand All @@ -70,7 +70,7 @@ public void ChangeAccessibilityStatesV2(AccessibilityStatesV2 states, bool beAdd
current = current.Remove(states);
}

Object.InternalSetPropertyInt(SwigCPtr, Property.AccessibilityState, (int)current);
Interop.ControlDevel.DaliToolkitControlSetAccessibilityStates(SwigCPtr, (uint)current);
}

/// <summary>
Expand Down
3 changes: 2 additions & 1 deletion src/Tizen.NUI/src/public/BaseComponents/ViewEnum.cs
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,8 @@ internal class Property
internal static readonly int DispatchKeyEvents = Interop.ViewProperty.DispatchKeyEventsGet();
internal static readonly int AccessibilityHidden = Interop.ViewProperty.AccessibilityHiddenGet();
internal static readonly int AutomationId = Interop.ViewProperty.AutomationIdGet();
internal static readonly int AccessibilityState = Interop.ViewProperty.AccessibilityStateGet();
// Legacy compatibility only. AccessibilityStatesV2 is handled by Control accessibility state methods.
internal const int AccessibilityState = Tizen.NUI.Property.InvalidIndex;
internal static readonly int AccessibilityIsModal = Interop.ViewProperty.AccessibilityIsModalGet();
internal static readonly int AccessibilityValue = Interop.ViewProperty.AccessibilityValueGet();
internal static readonly int AccessibilityScrollable = Interop.ViewProperty.AccessibilityScrollableGet();
Expand Down
14 changes: 2 additions & 12 deletions src/Tizen.NUI/src/public/BaseComponents/ViewPublicMethods.cs
Original file line number Diff line number Diff line change
Expand Up @@ -417,12 +417,7 @@ public void Show()
#if !PROFILE_TV
if (GetAccessibilityStates()[AccessibilityState.Modal])
{
RegisterDefaultLabel();

if (Accessibility.Accessibility.IsEnabled)
{
EmitAccessibilityStateChangedEvent(AccessibilityState.Showing, true);
}
NotifyAccessibilityPresentationChanged(true);
}
#endif
}
Expand All @@ -443,12 +438,7 @@ public void Hide()
#if !PROFILE_TV
if (GetAccessibilityStates()[AccessibilityState.Modal])
{
UnregisterDefaultLabel();

if (Accessibility.Accessibility.IsEnabled)
{
EmitAccessibilityStateChangedEvent(AccessibilityState.Showing, false);
}
NotifyAccessibilityPresentationChanged(false);
}
#endif
}
Expand Down
Loading