Prep for release v4.14.4 - #5053
Merged
Merged
Conversation
vnbaaij
commented
Jul 29, 2026
Collaborator
- Update version
- Update WhatsNew files
- Update homepage
- Update Icons to 1.1.334
* 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>
…tui-blazor into prep-for-release
Contributor
There was a problem hiding this comment.
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.
dvoituron
approved these changes
Jul 29, 2026
dvoituron
enabled auto-merge (squash)
July 29, 2026 11:39
vnbaaij
disabled auto-merge
July 29, 2026 11:44
This was referenced Jul 30, 2026
Open
This was referenced Aug 3, 2026
Open
Open
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.