Skip to content

Resolve iOS issue w/ new two-tiered header - #3383

Open
lilybarrett wants to merge 6 commits into
mainfrom
lb/troubleshoot-ios-header-bug
Open

Resolve iOS issue w/ new two-tiered header#3383
lilybarrett wants to merge 6 commits into
mainfrom
lb/troubleshoot-ios-header-bug

Conversation

@lilybarrett

@lilybarrett lilybarrett commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

This solves an iOS bug as part of https://app.asana.com/1/15492006741476/project/1213994587940653/task/1216860386844707?focus=true

Scope

The bug was tricky to troubleshoot since it did not appear when emulating iOS devices using browser dev tools -- only when using an actual iOS device. Android was unaffected.

Asana Ticket:
https://app.asana.com/1/15492006741476/project/1213994587940653/task/1216860386844707?focus=true

Implementation

  • This was the result (in part) of trying to impose desktop-appropriate behaviors while on mobile.
  • This PR fixes that ^ and also renames some variables used in the header logic/styling.

Screenshots

How to test

To repro the bug:

  • Navigate to Dotcom prod on a mobile device and enable the flag
  • Click on the languages menu
  • This will 1) not actually show the languages menu, and 2) freeze the page

To test the fix:

  • Navigate to Dotcom dev-blue on a mobile device and enable the flag
  • Click on the languages menu, the bottom menu, etc. Everything should work as expected. Please let me know if I've missed anything glaring!

@lilybarrett
lilybarrett force-pushed the lb/troubleshoot-ios-header-bug branch from 9c173f2 to 60ff53f Compare August 5, 2026 16:29
@@ -1,4 +1,4 @@
// Navigation bar on both desktop and mobile
// Navigation bar on both dropdown and fullscreen

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Renamed some stuff -- dropdown in place of desktop and fullscreen in place of mobile -- to reflect the fact that we have some styling (specifically on the Languages menu) that doesn't adhere to previous assumptions of what desktop/mobile menus look like.

header.dataset.navOpen = "true";
});

rootElement.querySelectorAll(TOGGLE_SELECTORS.dropdown).forEach(el => {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Since we have multiple menus to account for now, I added this in to help close menus if another opens.

disableBodyScroll(header);
});

rootElement.querySelectorAll(TOGGLE_SELECTORS.dropdown).forEach(el => {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Since we have multiple menus to account for now, I added this in to help close menus if another opens.

)
.forEach(toggleAriaExpanded);

rootElement

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Since we have multiple menus to account for now, I added this in to help close menus if another opens.

closestHeader &&
closestHeader.querySelector("[data-nav='fullscreen-menu-content']") // for fullscreen bottom-tier menu used on mobile
) {
disableBodyScroll(closestHeader, { reserveScrollBarGap: true });

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This is the real fix for the bug -- We were imposing desktop-like behavior on the header while on mobile.

@lilybarrett
lilybarrett marked this pull request as ready for review August 5, 2026 17:35
@lilybarrett
lilybarrett requested a review from a team as a code owner August 5, 2026 17:35
@lilybarrett
lilybarrett requested a review from joshlarson August 5, 2026 17:35
@lilybarrett lilybarrett changed the title See if this fixes things on staging Resolve iOS issue w/ new two-tiered header Aug 5, 2026
@lilybarrett
lilybarrett requested a review from thecristen August 5, 2026 17:37

@thecristen thecristen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Which iOS device/version were you testing with? I seem to still see the missing language menu on my phone (iPhone 16e on iOS 26.6). (However, it is not freezing the page this time!)

Image

@lilybarrett

lilybarrett commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

Which iOS device/version were you testing with? I seem to still see the missing language menu on my phone (iPhone 16e on iOS 26.6). (However, it is not freezing the page this time!)

Image

@thecristen Some follow-up questions!

  1. Are you seeing the Languages button disappear when you open the other (non-Languages) menu?
  2. If you do NOT open the other (non-Languages) menu, and click on the Languages menu instead, does the Languages menu at least appear?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dev-blue Deploy to dev-blue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants