Fix FocusZone Shift+Tab traversal from first-child containers - #4320
Merged
Merged
Conversation
Prevent Windows Fabric Shift+Tab from searching ancestor descendants. Add shared native regression coverage and document platform behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
Bundle size reportTree-shaken production Metro bundles. Component costs are relative to their platform shell; shell costs are absolute.
The job is advisory: size changes are reported but do not fail the pull request. Bundle or analysis errors still fail. |
acoates-ms
approved these changes
Sep 22, 2026
Keep Windows and Win32 setup on the lockfile-managed driver instead of installing an unversioned extension. Validate driver discovery and dynamic import before launching E2E tests, and scope Appium loading to the Windows driver. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Fixes #4317
Platforms Impacted
The production fix is Windows Fabric-only. Native regression coverage is shared across Windows, Win32, and macOS because outside-zone Tab navigation is a shared contract. macOS uses an independent AppKit key-view loop that excludes the zone; Win32 uses its host-provided FocusZone. Neither native implementation is changed.
Description of changes
Verification
Native smoke runs used a temporary
wdio.story: 'native-focuszone--*'selector, removed before this commit. Owned app, Metro, and driver processes were cleaned up.Pull request checklist
This PR has considered (when applicable):
Windows CI follow-up
Commit
279722f8ffixes the separate legacy Windows E2E startup failure. The failed job installedwindows@6.3.0outside the Yarn lockfile, then could not import the driver'sappium/driver.jspeer dependency; no UI tests ran.Both Windows endpoints now use
APPIUM_HOME=.and the existing Yarn-managed Windows driver. Preparation validates its registered version, resolved package path, and actual dynamic import, and WDIO loads only the Windows driver. Other platforms retain their existing setup.The three setup regression checks pass through both preparation commands. The old isolated Appium home is rejected as expected. A real Appium server successfully loaded the locked driver and answered
/status, then was stopped. E2E lint/build, the root build, formatting, and changeset validation pass. Broader local repository lint reports Knip unused-dependency errors in untouched workspaces; this follow-up does not alter those packages. Full native Windows E2E confirmation is delegated to the new CI run because WinAppDriver is not installed locally.