Closed Bug 1920319 Opened 1 month ago Closed 25 days ago

Perma TEST-UNEXPECTED-FAIL | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Uncaught exception in test bound test_keyboard_navigation_vertical_tabs - Two tabs are open. - timed out after 50 t when Gecko 132 merges to beta on 2024-09-30

Categories

(Firefox :: Sidebar, defect, P1)

Unspecified
macOS
defect

Tracking

()

VERIFIED FIXED
133 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 --- unaffected
firefox130 --- unaffected
firefox131 --- unaffected
firefox132 + fixed
firefox133 --- verified

People

(Reporter: imoraru, Assigned: Gijs)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

[Tracking Requested - why for this release]:

Failure log:

[task 2024-09-21T13:49:43.554Z] 13:49:43     INFO - TEST-START | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js
[task 2024-09-21T13:49:43.645Z] 13:49:43     INFO - GECKO(1876) | 1726926583644	RemoteAgent	TRACE	Received observer notification domwindowopened
[task 2024-09-21T13:49:43.916Z] 13:49:43     INFO - GECKO(1876) | 1726926583915	Marionette	TRACE	Received observer notification browser-delayed-startup-finished
[task 2024-09-21T13:49:53.453Z] 13:49:53     INFO - TEST-INFO | started process screencapture
[task 2024-09-21T13:49:53.835Z] 13:49:53     INFO - TEST-INFO | screencapture: exit 0
[task 2024-09-21T13:49:53.835Z] 13:49:53     INFO - Buffered messages logged at 13:49:43
[task 2024-09-21T13:49:53.836Z] 13:49:53     INFO - Entering setup bound 
[task 2024-09-21T13:49:53.836Z] 13:49:53     INFO - Leaving setup bound 
[task 2024-09-21T13:49:53.837Z] 13:49:53     INFO - Entering test bound test_keyboard_navigation
[task 2024-09-21T13:49:53.838Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | First tool button is focused. - 
[task 2024-09-21T13:49:53.838Z] 13:49:53     INFO - Press Arrow Down key.
[task 2024-09-21T13:49:53.839Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Second tool button is focused. - 
[task 2024-09-21T13:49:53.839Z] 13:49:53     INFO - Press Arrow Up key.
[task 2024-09-21T13:49:53.840Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | First tool button is focused. - 
[task 2024-09-21T13:49:53.841Z] 13:49:53     INFO - Press Enter key.
[task 2024-09-21T13:49:53.841Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Sidebar is open. - 
[task 2024-09-21T13:49:53.842Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Sidebar is showing the first tool. - 
[task 2024-09-21T13:49:53.843Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | aria-pressed is true for the active tool button. - 
[task 2024-09-21T13:49:53.843Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | aria-pressed is false for the inactive tool button. - 
[task 2024-09-21T13:49:53.844Z] 13:49:53     INFO - Press Enter key again.
[task 2024-09-21T13:49:53.844Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Sidebar is closed. - 
[task 2024-09-21T13:49:53.845Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Tool is no longer active, aria-pressed becomes false. - 
[task 2024-09-21T13:49:53.845Z] 13:49:53     INFO - Press Tab key.
[task 2024-09-21T13:49:53.846Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Customize button is focused. - 
[task 2024-09-21T13:49:53.847Z] 13:49:53     INFO - Leaving test bound test_keyboard_navigation
[task 2024-09-21T13:49:53.847Z] 13:49:53     INFO - Entering test bound test_menu_items_labeled
[task 2024-09-21T13:49:53.848Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | viewTabsSidebar button has a tooltip. - 
[task 2024-09-21T13:49:53.848Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Collapsed viewTabsSidebar button has no label. - 
[task 2024-09-21T13:49:53.849Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | viewHistorySidebar button has a tooltip. - 
[task 2024-09-21T13:49:53.850Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Collapsed viewHistorySidebar button has no label. - 
[task 2024-09-21T13:49:53.850Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | viewCustomizeSidebar button has a tooltip. - 
[task 2024-09-21T13:49:53.851Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Collapsed viewCustomizeSidebar button has no label. - 
[task 2024-09-21T13:49:53.852Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Expanded viewTabsSidebar button has a label. - 
[task 2024-09-21T13:49:53.852Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Expanded viewHistorySidebar button has a label. - 
[task 2024-09-21T13:49:53.853Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Expanded viewCustomizeSidebar button has a label. - 
[task 2024-09-21T13:49:53.853Z] 13:49:53     INFO - Leaving test bound test_menu_items_labeled
[task 2024-09-21T13:49:53.854Z] 13:49:53     INFO - Entering test bound test_keyboard_navigation_vertical_tabs
[task 2024-09-21T13:49:53.854Z] 13:49:53     INFO - Buffered messages logged at 13:49:44
[task 2024-09-21T13:49:53.855Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | First tab is focused. - 
[task 2024-09-21T13:49:53.855Z] 13:49:53     INFO - Tab to new tab button.
[task 2024-09-21T13:49:53.856Z] 13:49:53     INFO - TEST-PASS | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | New tab button is focused. - 
[task 2024-09-21T13:49:53.857Z] 13:49:53     INFO - Press Enter key.
[task 2024-09-21T13:49:53.857Z] 13:49:53     INFO - Buffered messages finished
[task 2024-09-21T13:49:53.858Z] 13:49:53     INFO - TEST-UNEXPECTED-FAIL | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | Uncaught exception in test bound test_keyboard_navigation_vertical_tabs - Two tabs are open. - timed out after 50 tries.
[task 2024-09-21T13:49:53.858Z] 13:49:53     INFO - Leaving test bound test_keyboard_navigation_vertical_tabs
[task 2024-09-21T13:49:54.370Z] 13:49:54     INFO - GECKO(1876) | MEMORY STAT vsizeMaxContiguous not supported in this build configuration.
[task 2024-09-21T13:49:54.370Z] 13:49:54     INFO - GECKO(1876) | MEMORY STAT | vsize 8020MB | residentFast 332MB | heapAllocated 152MB
[task 2024-09-21T13:49:54.371Z] 13:49:54     INFO - TEST-OK | browser/components/sidebar/tests/browser/browser_a11y_sidebar.js | took 10816ms
[task 2024-09-21T13:49:54.383Z] 13:49:54     INFO - checking window state
[task 2024-09-21T13:49:54.403Z] 13:49:54     INFO - TEST-START | browser/components/sidebar/tests/browser/browser_adopt_sidebar_from_opener.js

Hi Sarah! Can you please take a look at this?(needinfo you since Kelly Cochrane is OoO until Oct 7th)
Thank you!

Flags: needinfo?(sclements)
Assignee: nobody → sclements
Status: NEW → ASSIGNED
Flags: needinfo?(sclements)
Severity: -- → S4
Priority: -- → P1
Attachment #9427746 - Flags: approval-mozilla-beta?
Attachment #9427746 - Flags: approval-mozilla-beta?
Attachment #9427746 - Attachment description: Bug 1920319 - Fix permafailing browser_a11y_sidebar test r=Gijs → WIP: Bug 1920319 - Fix permafailing browser_a11y_sidebar test r=Gijs
Attachment #9427746 - Attachment description: WIP: Bug 1920319 - Fix permafailing browser_a11y_sidebar test r=Gijs → Bug 1920319 - Fix permafailing browser_a11y_sidebar test r=Gijs
Regressions: 1921685
No longer regressions: 1921685

Was a little bit puzzled trying this locally that it passed on Windows. But looking at the trypush, it's only failing on macOS. That's probably a clue of some kind...

OS: Unspecified → macOS

Stealing this per slack discussion.

Assignee: sclements → gijskruitbosch+bugs

Right now, tabbrowser relies on browser-toolbarKeyNav.js for keyboard access to these buttons on macOS.
There's also toolkit handling for space, but not enter, in https://searchfox.org/mozilla-central/rev/9fe73403523732f57cd82d30590ecc272fb0b165/toolkit/content/widgets/button.js#27-34 .
In vertical tabs mode, browser-toolbarKeyNav does not help us as the buttons aren't in the toolbox.
On Nightly, the containers-related code in https://searchfox.org/mozilla-central/rev/9fe73403523732f57cd82d30590ecc272fb0b165/browser/components/tabbrowser/content/tabs.js#1422-1428
adds the buttons to gClickAndHoldListeners, which have their own keypress handling. This happens whenever
containers are enabled. Those are not enabled by default on non-nightly, and so we end up missing a keypress
handler in vertical tabs mode on non-Nightly on macOS.

This is all a big mess and we should probably figure out a better solution. But given this needs beta uplift,
the expedient solution seems to be a dedicated listener and making sure that only 1 listener is invoked.

Attachment #9427746 - Attachment is obsolete: true
Pushed by gijskruitbosch@gmail.com: https://hg.mozilla.org/integration/autoland/rev/840ab1f4ed44 add dedicated keypress handler for new tab buttons, r=tabbrowser-reviewers,dao
Status: ASSIGNED → RESOLVED
Closed: 25 days ago
Resolution: --- → FIXED
Target Milestone: --- → 133 Branch

Right now, tabbrowser relies on browser-toolbarKeyNav.js for keyboard access to these buttons on macOS.
There's also toolkit handling for space, but not enter, in https://searchfox.org/mozilla-central/rev/9fe73403523732f57cd82d30590ecc272fb0b165/toolkit/content/widgets/button.js#27-34 .
In vertical tabs mode, browser-toolbarKeyNav does not help us as the buttons aren't in the toolbox.
On Nightly, the containers-related code in https://searchfox.org/mozilla-central/rev/9fe73403523732f57cd82d30590ecc272fb0b165/browser/components/tabbrowser/content/tabs.js#1422-1428
adds the buttons to gClickAndHoldListeners, which have their own keypress handling. This happens whenever
containers are enabled. Those are not enabled by default on non-nightly, and so we end up missing a keypress
handler in vertical tabs mode on non-Nightly on macOS.

This is all a big mess and we should probably figure out a better solution. But given this needs beta uplift,
the expedient solution seems to be a dedicated listener and making sure that only 1 listener is invoked.

Original Revision: https://phabricator.services.mozilla.com/D224094

Attachment #9428254 - Flags: approval-mozilla-beta?

beta Uplift Approval Request

  • User impact if declined: Broken keyboard navigation in vertical tabs
  • Code covered by automated testing: yes
  • Fix verified in Nightly: no
  • Needs manual QE test: yes
  • Steps to reproduce for manual QE testing: Enable sidebar revamp + vertical tabs from Firefox Labs, then tab to the new tab button in the vertical tabs and hit enter/space to create a new tab. Try with both a few tabs and many (overflowing) tabs as the buttons are different
  • Risk associated with taking this patch: Low
  • Explanation of risk level: Small localized patch for the new tab button
  • String changes made/needed: No
  • Is Android affected?: no
Flags: qe-verify+
Attachment #9428254 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
QA Whiteboard: [qa-triaged]
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: