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

View file

@ -47,6 +47,7 @@
void EditorBottomPanel::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_READY: {
set_accessibility_region(true);
layout_popup = get_popup();
} break;
@ -60,6 +61,9 @@ void EditorBottomPanel::_notification(int p_what) {
void EditorBottomPanel::_on_tab_changed(int p_idx) {
_update_center_split_offset();
_repaint();
if (p_idx >= 0 && p_idx < get_tab_count()) {
set_accessibility_name(get_tab_title(p_idx));
}
}
void EditorBottomPanel::_theme_changed() {