Repository navigation
Fix DPI-aware sidebar UIA bounds validation - #931
Merged
Merged
Conversation
Scroll and reacquire each exact sidebar row before accepting its bounds, freeze point-in-time UIA evidence, and preserve identity, process, uniqueness, and order checks. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Colin Neilens <coneilen@microsoft.com>
3 of 5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fix the Windows live UIA gate so DPI-dependent sidebar virtualization does not require every owned row to expose visible bounds simultaneously.
Changes
Test plan
RED:
pwsh -NoProfile -File Tools\windows\Tests\ValidationRunner.Tests.ps1->RED: UIA live gate is missing its bounded sidebar scroll/reacquire proofGREEN:
pwsh -NoProfile -File Tools\windows\Tests\ValidationRunner.Tests.ps1-> UiScenario 166/166 and UiCaptureDriver 182/182 passedREGRESSION:
pwsh -NoProfile -File Tools\windows\Tests\AccessibilityProvider.Native.Tests.ps1;pwsh -NoProfile -File Tools\windows\Tests\Hardening.Tests.ps1 -SkipTrayLive-> native UIA 224/224 and hardening 3/3 passeddynamic project card has empty bounds. A scratch copy of the unmodified HEAD gate with only the original sidebar row/control/Needs-you assertions bypassed reached the same cutoff, confirming it is pre-existing and unrelated.Checklist
git commit -s) per the DCOmake test)make check)