GUI: Add accessibility region role for landmark navigation

Adds ROLE_REGION to allow controls to be marked as accessibility
regions/landmarks.

- Add `accessibility_region` property to Control
- Add ROLE_REGION to DisplayServer and AccessKit mapping
- Prevent Container/ScrollContainer from overriding region role
- Fix TabContainer to update accessibility when tabs change
- Mark editor docks, main screen, bottom panel, and scene tabs as regions
This commit is contained in:
Nolan Darilek
2025-12-29 17:30:55 -05:00
parent 5f9a510441
commit d53ab67b83
13 changed files with 57 additions and 2 deletions
+2
View File
@@ -41,6 +41,7 @@
void EditorMainScreen::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_READY: {
set_accessibility_region(true);
if (EDITOR_3D < buttons.size() && buttons[EDITOR_3D]->is_visible()) {
// If the 3D editor is enabled, use this as the default.
select(EDITOR_3D);
@@ -194,6 +195,7 @@ void EditorMainScreen::select(int p_index) {
selected_plugin = new_editor;
selected_plugin->make_visible(true);
selected_plugin->selected_notify();
set_accessibility_name(selected_plugin->get_plugin_name());
EditorData &editor_data = EditorNode::get_editor_data();
int plugin_count = editor_data.get_editor_plugin_count();