+ auto accessible = Accessibility::Accessible::GetOwningPtr(actor);
+ if(DALI_LIKELY(accessible))
+ {
+ auto control = Toolkit::Control::DownCast(actor);
+ if(DALI_LIKELY(control))
+ {
+ if(state == Accessibility::State::SHOWING)
+ {
+ bool isModal = ControlAccessible::IsModal(control);
+ if(isModal)
+ {
+ if(newValue == 1)
+ {
+ Accessibility::Bridge::GetCurrentBridge()->RegisterDefaultLabel(accessible);
+ }
+ else
+ {
+ Accessibility::Bridge::GetCurrentBridge()->UnregisterDefaultLabel(accessible);
+ }
+ }
+ }
+ }
+
+ accessible->EmitStateChanged(state, newValue, 0);
+ }