@@ -188,7 +188,11 @@ void Container::_notification(int p_what) {
188188 RID ae = get_accessibility_element ();
189189 ERR_FAIL_COND (ae.is_null ());
190190
191- DisplayServer::get_singleton ()->accessibility_update_set_role (ae, DisplayServer::AccessibilityRole::ROLE_CONTAINER );
191+ if (accessibility_region) {
192+ DisplayServer::get_singleton ()->accessibility_update_set_role (ae, DisplayServer::AccessibilityRole::ROLE_REGION );
193+ } else {
194+ DisplayServer::get_singleton ()->accessibility_update_set_role (ae, DisplayServer::AccessibilityRole::ROLE_CONTAINER );
195+ }
192196 } break ;
193197
194198 case NOTIFICATION_RESIZED :
@@ -204,6 +208,18 @@ void Container::_notification(int p_what) {
204208 }
205209}
206210
211+ void Container::set_accessibility_region (bool p_region) {
212+ ERR_MAIN_THREAD_GUARD ;
213+ if (accessibility_region != p_region) {
214+ accessibility_region = p_region;
215+ queue_accessibility_update ();
216+ }
217+ }
218+
219+ bool Container::is_accessibility_region () const {
220+ return accessibility_region;
221+ }
222+
207223PackedStringArray Container::get_configuration_warnings () const {
208224 PackedStringArray warnings = Control::get_configuration_warnings ();
209225
@@ -217,6 +233,8 @@ PackedStringArray Container::get_configuration_warnings() const {
217233void Container::_bind_methods () {
218234 ClassDB::bind_method (D_METHOD (" queue_sort" ), &Container::queue_sort);
219235 ClassDB::bind_method (D_METHOD (" fit_child_in_rect" , " child" , " rect" ), &Container::fit_child_in_rect);
236+ ClassDB::bind_method (D_METHOD (" set_accessibility_region" , " region" ), &Container::set_accessibility_region);
237+ ClassDB::bind_method (D_METHOD (" is_accessibility_region" ), &Container::is_accessibility_region);
220238
221239 GDVIRTUAL_BIND (_get_allowed_size_flags_horizontal);
222240 GDVIRTUAL_BIND (_get_allowed_size_flags_vertical);
@@ -226,6 +244,8 @@ void Container::_bind_methods() {
226244
227245 ADD_SIGNAL (MethodInfo (" pre_sort_children" ));
228246 ADD_SIGNAL (MethodInfo (" sort_children" ));
247+
248+ ADD_PROPERTY (PropertyInfo (Variant::BOOL , " accessibility_region" ), " set_accessibility_region" , " is_accessibility_region" );
229249}
230250
231251Container::Container () {
0 commit comments