Skip to content

Prep for release v4.14.4 - #5053

Merged
dvoituron merged 9 commits into
mainfrom
prep-for-release
Jul 29, 2026
Merged

Prep for release v4.14.4#5053
dvoituron merged 9 commits into
mainfrom
prep-for-release

Conversation

@vnbaaij

@vnbaaij vnbaaij commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator
  • Update version
  • Update WhatsNew files
  • Update homepage
  • Update Icons to 1.1.334

adamint and others added 8 commits July 28, 2026 17:11
* Fix anchored region focus across shadow DOM

* Remove Playwright test infrastructure

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Exclude the open popup when finding the next page element after the anchor

CloseAsync is invoked after focus() and resolves asynchronously, so the popup is
still in the DOM during traversal. For popups rendered inline next to their
anchor (FluentPopover, and FluentMenu with DrawMenuWithoutService), the next
focusable element in document order after the anchor is the popup's own content,
so Tab from the last item looped back into the popup instead of leaving it.

Filter the popup's composed subtree out of the candidate list before locating
the anchor, and take the following candidate without wrapping.

* Add Popover keyboard navigation demo example

Adds an example where the popover is declared between its anchor and the
next control, which is the arrangement the existing Popover examples do
not cover and the one the anchored region focus fix addresses.

* update popover example

---------

Co-authored-by: Vincent Baaij <vnbaaij@outlook.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Denis Voituron <dvoituron@outlook.com>
* Fix popover focus return on tab navigation

* Fix popover focus traversal

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c0833666-e36b-4435-a085-97eb64deb98f

* Drop the anchored region changes; they are superseded by #5041

#5041 rewrites the same focus traversal in FluentAnchoredRegion.razor.js and
covers everything this branch did there, so keeping both would just conflict.
This branch now carries only the FluentDataGrid column resize popup fix (#5002).

* Resolve focus origin to its owning focusable element on column resize Tab

Fluent web components delegate focus into their shadow root, so
event.composedPath()[0] is the inner shadow control while
getFocusableElements() collects the fluent-* host whenever the host itself
is focusable (the resize buttons set tabindex="0"). indexOf() therefore
returned -1, no Tab boundary was ever detected, and the resize popup stayed
open when tabbing out of it.

Walk up the composed tree to map the event origin onto the collected
element, and guard the last-element check against -1 so an empty list can no
longer look like a boundary.

* Collect focusable elements nested in a Fluent component's shadow root

The column resize popup in Exact mode renders a FluentTextField, whose input
sits inside a wrapper in the shadow root rather than being a direct child of
it. It was therefore never collected, so Shift+Tab out of the text field left
the popup open and Shift+Tab out of the first button skipped the text field
and closed the popup instead.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Vincent Baaij <vnbaaij@outlook.com>
Copilot-Session: c0833666-e36b-4435-a085-97eb64deb98f
- Update icons to 1.1.334
- Update home
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@vnbaaij vnbaaij added this to the v4.13.4 milestone Jul 29, 2026
Copilot AI review requested due to automatic review settings July 29, 2026 11:28
@vnbaaij
vnbaaij requested a review from dvoituron as a code owner July 29, 2026 11:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Prepares the repo for the v4.14.4 release by updating versioning metadata, changelogs/demo docs, demo homepage “Latest releases”, and pulling in the Fluent UI System Icons 1.1.334 update (generated icon classes). It also includes keyboard-focus improvements for anchored popups and the DataGrid column resize popup.

Changes:

  • Bump version from 4.14.3 to 4.14.4 (build props + pipeline version variable).
  • Update What’s New content in root and demo docs; add demo homepage release entry.
  • Update keyboard navigation/focus handling for AnchoredRegion/Popover and DataGrid column resize; regenerate icon sets.

Reviewed changes

Copilot reviewed 22 out of 25 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
WHATSNEW.md Adds v4.14.4 changelog entry.
src/Core/Components/DataGrid/FluentDataGrid.razor.js Adds Tab boundary handling for the column resize popup focus flow.
src/Core/Components/AnchoredRegion/FluentAnchoredRegion.razor.js Improves focus traversal across shadow DOM/inline popups and popover keyboard behavior.
src/Assets/FluentUI.Icons/Icons/Regular/Regular12.cs Regenerated Regular 12px icons for updated system icons.
src/Assets/FluentUI.Icons/Icons/Light/Light32.cs Regenerated Light 32px icons for updated system icons.
src/Assets/FluentUI.Icons/Icons/Filled/Filled48.cs Regenerated Filled 48px icons for updated system icons.
src/Assets/FluentUI.Icons/Icons/Filled/Filled12.cs Regenerated Filled 12px icons for updated system icons.
examples/Demo/Shared/wwwroot/docs/WhatsNew.md Adds v4.14.4 changelog entry for the demo docs.
examples/Demo/Shared/Pages/Popover/PopoverPage.razor Adds a new demo section describing keyboard navigation behavior.
examples/Demo/Shared/Pages/Popover/Examples/PopoverKeyboardNavigation.razor New demo example component for popover keyboard navigation.
examples/Demo/Shared/Pages/Home/Home.razor Updates “Latest releases” list to include v4.14.4.
examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml Updates generated XML docs ordering/content (includes moved members).
eng/pipelines/version.yml Updates pipeline FileVersion to 4.14.4.
Directory.Build.props Updates VersionFile/VersionPrefix to 4.14.4.
Files not reviewed (1)
  • examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml: Generated file
Comments suppressed due to low confidence (1)

src/Core/Components/DataGrid/FluentDataGrid.razor.js:26

  • Same compatibility concern as above: checkVisibility() may be undefined in some browsers, which would throw here when filtering focusables.
    return focusableElements.filter(el => !!el && el.tabIndex !== -1 && el.checkVisibility());

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/Core/Components/DataGrid/FluentDataGrid.razor.js
Comment thread src/Core/Components/AnchoredRegion/FluentAnchoredRegion.razor.js
@dvoituron
dvoituron enabled auto-merge (squash) July 29, 2026 11:39
@vnbaaij
vnbaaij disabled auto-merge July 29, 2026 11:44
@dvoituron
dvoituron merged commit ec340ba into main Jul 29, 2026
4 checks passed
@dvoituron
dvoituron deleted the prep-for-release branch July 29, 2026 11:58
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.

4 participants