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

@ -1706,6 +1706,7 @@ void DisplayServer::_bind_methods() {
BIND_ENUM_CONSTANT(ROLE_TITLE_BAR);
BIND_ENUM_CONSTANT(ROLE_DIALOG);
BIND_ENUM_CONSTANT(ROLE_TOOLTIP);
BIND_ENUM_CONSTANT(ROLE_REGION);
BIND_ENUM_CONSTANT(POPUP_MENU);
BIND_ENUM_CONSTANT(POPUP_LIST);

View file

@ -606,6 +606,7 @@ public:
ROLE_TITLE_BAR,
ROLE_DIALOG,
ROLE_TOOLTIP,
ROLE_REGION,
};
enum AccessibilityPopupType {