+ if ( auto ac = GetControlImplementationIfAny ( control ) )
+ {
+ for (auto &it : ac->mAccessibilityRelations)
+ it.clear();
+ }
+}
+
+void SetAccessibilityConstructor( Dali::Actor control,
+ std::function< std::unique_ptr< Dali::Accessibility::Accessible >( Dali::Actor ) > constructor )
+{
+ if ( auto ac = GetControlImplementationIfAny ( control ) )
+ {
+ ac->accessibilityConstructor = constructor;
+ }
+}
+
+void AppendAccessibilityAttribute( Dali::Actor control, const std::string& key,
+ const std::string value )
+{
+ if ( auto ac = GetControlImplementationIfAny ( control ) )
+ {
+ ac->AppendAccessibilityAttribute( key, value );
+ }
+}
+
+void RemoveAccessibilityAttribute( Dali::Actor control, const std::string& key )
+{
+ if ( auto ac = GetControlImplementationIfAny ( control ) )
+ {
+ ac->RemoveAccessibilityAttribute( key );
+ }
+}
+
+void ClearAccessibilityAttributes( Dali::Actor control )
+{
+ if ( auto ac = GetControlImplementationIfAny ( control ) )
+ {
+ ac->ClearAccessibilityAttributes();
+ }
+}
+
+void SetAccessibilityReadingInfoType( Dali::Actor control, const Dali::Accessibility::ReadingInfoTypes types )
+{
+ if ( auto ac = GetControlImplementationIfAny ( control ) )
+ {
+ ac->SetAccessibilityReadingInfoType( types );
+ }
+}
+
+Dali::Accessibility::ReadingInfoTypes GetAccessibilityReadingInfoType(Dali::Actor control )
+{
+ if ( auto ac = GetControlImplementationIfAny ( control ) )
+ {
+ return ac->GetAccessibilityReadingInfoType();
+ }
+ return {};
+}
+
+bool ClearAccessibilityHighlight( Dali::Actor control )
+{
+ if ( auto ac = GetControlImplementationIfAny ( control ) )
+ {
+ auto ptr = dynamic_cast<Dali::Accessibility::Component*>( ac->GetAccessibilityObject() );
+ if( ptr )
+ return ptr->ClearHighlight();
+ }
+ return false;
+}
+
+bool GrabAccessibilityHighlight( Dali::Actor control )
+{
+ if ( auto ac = GetControlImplementationIfAny ( control ) )
+ {
+ auto ptr = dynamic_cast<Dali::Accessibility::Component*>( ac->GetAccessibilityObject() );
+ if( ptr )
+ return ptr->GrabHighlight();
+ }
+ return false;
+}
+
+Dali::Accessibility::States GetAccessibilityStates( Dali::Actor control )
+{
+ if ( auto ac = GetControlImplementationIfAny ( control ) )
+ {
+ auto ptr = dynamic_cast<Dali::Accessibility::Component*>( ac->GetAccessibilityObject() );
+ if(ptr)
+ return ptr->GetStates();
+ }
+ return {};
+}
+
+void NotifyAccessibilityStateChange( Dali::Actor control, Dali::Accessibility::States states, bool doRecursive )
+{
+ if ( auto ac = GetControlImplementationIfAny ( control ) )
+ {
+ ac->GetAccessibilityObject()->NotifyAccessibilityStateChange( std::move(states), doRecursive );
+ }