Skip to content

Release: native-UIA depth pt.2 — transform/window, MSAA, advanced text, selection/views (v198–v201)#423

Merged
JE-Chen merged 8 commits into
mainfrom
dev
Jun 24, 2026
Merged

Release: native-UIA depth pt.2 — transform/window, MSAA, advanced text, selection/views (v198–v201)#423
JE-Chen merged 8 commits into
mainfrom
dev

Conversation

@JE-Chen

@JE-Chen JE-Chen commented Jun 24, 2026

Copy link
Copy Markdown
Member

Release: native-UIA depth, part 2 (v198–v201)

Second batch of the ROUND-15 native Windows UI (UIA) depth lane — four more features on the accessibility backend, each merged to dev CI-green (Codacy 0 / SonarCloud OK / all matrices + Docker).

All extend the accessibility backend ABC + Windows UIA backend through the same injectable fake-backend seam (headless-testable; real UIA gated to Windows). EN/Zh docs (v198–v201) + WHATS_NEW entries included.

JE-Chen added 8 commits June 25, 2026 03:11
UIA element-level Transform/Window patterns, distinct from the HWND/
title-level window_layout. TransformPattern moves/resizes a control or
floating panel with no top-level window of its own; WindowPattern
minimizes/maximizes and reports interaction state (ready/blocked_by_modal/
not_responding) - a reliable 'is this window ready or modal-blocked?'
signal pixel/title polling can't give. Extends the backend ABC + Windows
UIA backend, reusing _invoke_pattern_method.
…ndow-batch

Add transform_window: move/resize UIA elements + window state
Many legacy Win32/MFC/Delphi controls expose nothing useful via modern
UIA (Value/Invoke/Toggle all return None) but are fully described via
the MSAA IAccessible bridge. legacy_info reads {name,value,description,
default_action,role,state} and legacy_default_action fires the MSAA
default action - the last-resort fallback that makes old apps
automatable. Extends the backend ABC + Windows UIA backend.
…sible-batch

Add legacy_accessible: MSAA bridge for old controls UIA can't model
ax_text shipped whole-range reads but couldn't search a control's text,
select a found range, or read formatting. Round out TextPattern:
find_control_text searches real content (not OCR) via FindText,
select_control_text finds + selects a range so the next keystrokes
replace it, and control_text_attributes reads font/size/bold/italic/
colour. Extends the backend ABC + Windows UIA backend and the ax_text
facade.
…nced-batch

Add advanced TextPattern: find / select / read text attributes
select_control_item selects one item, but the container-level
SelectionPattern answers what is currently selected and whether multiple
selection is allowed - the assertion target after selecting.
MultipleViewPattern switches a control between its views (Explorer
list/details/tile). get_selection / list_views / set_view extend the
backend ABC + Windows UIA backend via the same fake-backend seam.
…ew-batch

Add selection_view: container selection + view switching
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 130 complexity · 0 duplication

Metric Results
Complexity 130
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@JE-Chen JE-Chen merged commit 40d2657 into main Jun 24, 2026
31 checks passed
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant