fix: highlight BottomNavigation overflow selector for the first overflow item - #5414
Open
zigzagdev wants to merge 2 commits into
Open
fix: highlight BottomNavigation overflow selector for the first overflow item#5414zigzagdev wants to merge 2 commits into
BottomNavigation overflow selector for the first overflow item#5414zigzagdev wants to merge 2 commits into
Conversation
…low item
isActive={displayOverflow || activeKey > 4} was off-by-one: when
navItems.length > 5, only indices 0-3 get their own Selector (MAX_SELECTORS - 1
of them), so index 4 is already only reachable via the overflow "More"
selector/panel, but activeKey > 4 required index 5 before the More tab
lit up. Use activeKey >= MAX_SELECTORS - 1 to match the actual cutoff.
Regression test for the off-by-one bug: with 6 items and activeKey=4 (the first item only reachable via the overflow panel), the "More" tab must be marked aria-selected.
zigzagdev
requested review from
DianaSuvorova,
dyesin,
hualf1995 and
lijim
as code owners
September 7, 2026 00:37
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.
Description
The overflow "More" selector's active state was computed as
isActive={displayOverflow || activeKey > 4}, which is off-by-one.Since
navItems.length > MAX_SELECTORS (5), only indices 0-3 get their own directSelector(navItems.slice(0, 4)); index 4 is already only reachable through the overflow panel/selector.However,
activeKey > 4requires index 5 before the "More" tab lights up, so selecting the first overflow item (index 4) showed its panel while leaving the "More" tab unhighlighted.Changed the condition to
activeKey >= MAX_SELECTORS - 1.Therefore, it matches the actual cutoff used when slicing selectors.
Scope
Patch: Bug Fix