{
if (disappearedPage != null)
{
+ disappearedPage.UnregisterDefaultLabel();
//We can call disappearedPage.NotifyAccessibilityStatesChange
//To reduce accessibility events, we are using currently highlighted view instead
View curHighlightedView = Accessibility.Accessibility.Instance.GetCurrentlyHighlightedView();
if (appearedPage != null)
{
+ appearedPage.RegisterDefaultLabel();
appearedPage.NotifyAccessibilityStatesChange(AccessibilityStates.Visible | AccessibilityStates.Showing, false);
}
}
public static extern void DaliAccessibilityDeleteRange(IntPtr arg1);
[EditorBrowsable(EditorBrowsableState.Never)]
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Accessibility_Bridge_Add_Popup")]
- public static extern void DaliAccessibilityBridgeRegisterPopup(global::System.Runtime.InteropServices.HandleRef arg1);
+ [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Accessibility_Bridge_RegisterDefaultLabel")]
+ public static extern void DaliAccessibilityBridgeRegisterDefaultLabel(global::System.Runtime.InteropServices.HandleRef arg1);
[EditorBrowsable(EditorBrowsableState.Never)]
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Accessibility_Bridge_Remove_Popup")]
- public static extern void DaliAccessibilityBridgeRemovePopup(global::System.Runtime.InteropServices.HandleRef arg1);
+ [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Accessibility_Bridge_UnregisterDefaultLabel")]
+ public static extern void DaliAccessibilityBridgeUnregisterDefaultLabel(global::System.Runtime.InteropServices.HandleRef arg1);
[EditorBrowsable(EditorBrowsableState.Never)]
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Accessibility_Accessible_GetCurrentlyHighlightedActor")]
///////////////////////////////////////////////////////////////////
/// <summary>
- /// Registers popup component to accessibility tree.
+ /// Registers component as a source of an accessibility "default label".
+ /// The "Default label" is a text that could be read by screen-reader immediately
+ /// after the navigation context has changed (window activates, popup shows up, tab changes)
+ /// and before first UI element is highlighted.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
- public void RegisterPopup()
+ public void RegisterDefaultLabel()
{
- Interop.ControlDevel.DaliAccessibilityBridgeRegisterPopup(SwigCPtr);
+ Interop.ControlDevel.DaliAccessibilityBridgeRegisterDefaultLabel(SwigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <summary>
- /// Removes the previously added popup to accessibility tree.
+ /// Unregisters component that has been registered previously as a source of an accessibility "default label".
+ /// The "Default label" is a text that could be read by screen-reader immediately
+ /// after the navigation context has changed (window activates, popup shows up, tab changes)
+ /// and before first UI element is highlighted.
/// </summary>
[EditorBrowsable(EditorBrowsableState.Never)]
- public void RemovePopup()
+ public void UnregisterDefaultLabel()
{
- Interop.ControlDevel.DaliAccessibilityBridgeRemovePopup(SwigCPtr);
+ Interop.ControlDevel.DaliAccessibilityBridgeUnregisterDefaultLabel(SwigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <since_tizen> 3 </since_tizen>
public void Show()
{
- if (Accessibility.Accessibility.Enabled && ((GetAccessibilityStates() & AccessibilityStates.Modal) != 0))
+ SetVisible(true);
+
+ if (((GetAccessibilityStates() & AccessibilityStates.Modal) != 0))
{
- RegisterPopup();
- }
+ RegisterDefaultLabel();
- SetVisible(true);
+ if (Accessibility.Accessibility.Enabled)
+ {
+ EmitAccessibilityStatesChangedEvent(AccessibilityStates.Showing, true);
+ }
+ }
}
/// <summary>
{
SetVisible(false);
- if (Accessibility.Accessibility.Enabled && ((GetAccessibilityStates() & AccessibilityStates.Modal) != 0))
+ if (((GetAccessibilityStates() & AccessibilityStates.Modal) != 0))
{
- RemovePopup();
+ UnregisterDefaultLabel();
+
+ if (Accessibility.Accessibility.Enabled)
+ {
+ EmitAccessibilityStatesChangedEvent(AccessibilityStates.Showing, false);
+ }
}
}
[Test]
[Category("P1")]
- [Description("ViewAccessibility.View.RegisterPopup.")]
- [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.RegisterPopup M")]
+ [Description("ViewAccessibility.View.RegisterDefaultLabel.")]
+ [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.RegisterDefaultLabel M")]
[Property("SPEC_URL", "-")]
[Property("CRITERIA", "MR")]
[Property("AUTHOR", "guowei.wang@samsung.com")]
- public void ViewAccessibilityRegisterPopup()
+ public void ViewAccessibilityRegisterDefaultLabel()
{
- tlog.Debug(tag, $"ViewAccessibilityRegisterPopup START");
+ tlog.Debug(tag, $"ViewAccessibilityRegisterDefaultLabel START");
var testingTarget = new View()
{
try
{
- testingTarget.RegisterPopup();
- testingTarget.RemovePopup();
+ testingTarget.RegisterDefaultLabel();
+ testingTarget.UnregisterDefaultLabel();
}
catch (Exception e)
{
}
testingTarget.Dispose();
- tlog.Debug(tag, $"ViewAccessibilityRegisterPopup END (OK)");
+ tlog.Debug(tag, $"ViewAccessibilityRegisterDefaultLabel END (OK)");
}
[Test]