Skip to content

Windows: don't hand out the engine's accessibility tree - #889

Merged
leookun merged 1 commit into
mainfrom
windows-no-a11y-objects
Nov 11, 2026
Merged

leookun merged 1 commit into
mainfrom
windows-no-a11y-objects

Conversation

@leookun

@leookun leookun commented Nov 11, 2026

Copy link
Copy Markdown
Collaborator

A crash report (Windows 10, 1.9.3+29) symbolized to flutter_windows.dll FlutterPlatformNodeDelegateWindows::HitTestSync, called from AXPlatformNodeWin::accHitTest through OLEACC/UIAutomationCore: another app's hit test met a child AX node with no delegate and dereferenced null (flutter/flutter#195653, unguarded on master too).

The view's procedure now answers WM_GETOBJECT with DefWindowProcW, so the engine never builds the AX tree or turns semantics on (which also removes the per-frame flushSemantics cost seen in earlier hang reports). The app makes no claim to support screen readers.

🤖 Generated with BaoCode

Another app's UI Automation hit test crashed the app in the engine's
FlutterPlatformNodeDelegateWindows::HitTestSync (a child AX node with no
delegate, flutter/flutter#195653). The engine also turns semantics on at
the first such query and keeps them on. The app makes no claim to support
screen readers, so the view no longer hands out its accessibility tree.

Co-Authored-By: BaoCode <noreply@baocode.dev>
@leookun
leookun merged commit 9e8c637 into main Nov 11, 2026
3 checks passed
@leookun
leookun deleted the windows-no-a11y-objects branch November 11, 2026 06:39
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.

2 participants