This patch also disables `browser_tab_list_keyboard_navigation` a11y failing tests noted in Bug 1882597
until Bug 1850591 resolves a11y checks for the `moz-page-nav-button` button to be focusable.
Differential Revision: https://phabricator.services.mozilla.com/D203182
- created tertiary button option for tab rows, styled by a class prop
- added close button to open tabs rows
- removed close tab from open tab context menu
- updated tests to reflect removed panel item in open tab context menu
- added test for the new open tabs close button
- added telemetry for close open tab (requires data review)
- added test suite for keyboard navigation across tab row buttons
Depends on D201652
Differential Revision: https://phabricator.services.mozilla.com/D200689
- created tertiary button option for tab rows, styled by a class prop
- added close button to open tabs rows
- removed close tab from open tab context menu
- updated tests to reflect removed panel item in open tab context menu
- added test for the new open tabs close button
- added telemetry for close open tab (requires data review)
- added test suite for keyboard navigation across tab row buttons
Differential Revision: https://phabricator.services.mozilla.com/D200689
* Adds a new switchToWindow helper and calls it in openFirefoxViewTab to ensure we wait until the window is active
* Fix some fallout from this change in the browser_opentabs_recency.js test
Differential Revision: https://phabricator.services.mozilla.com/D201861
- created tertiary button option for tab rows, styled by a class prop
- added close button to open tabs rows
- removed close tab from open tab context menu
- updated tests to reflect removed panel item in open tab context menu
- added test for the new open tabs close button
- added telemetry for close open tab (requires data review)
- added test suite for keyboard navigation across tab row buttons
Differential Revision: https://phabricator.services.mozilla.com/D200689
A11y tests were failing due to the showAllButton node not being accessible.
This update ensures the node is not hidden before clicking.
Differential Revision: https://phabricator.services.mozilla.com/D201016
* Carry over lastAccessed times from tabs that haven't been seen/active this session.
* Use the lastSeenActive rather than lastAccessed timestamp for labeling open tabs in firefox view.
Differential Revision: https://phabricator.services.mozilla.com/D198892
In the Firefox View main view, within the `<fxview-tab-list>` list component, there are `a.fxview-tab-row-main` and `button.fxview-tab-row-secondary-button` elements which focusability is handled by the JavaScript - they are made not focusable by default to reduce the number of tabstops needed for a keyboard user to navigate through the Firefox View and each list has only one control that is made keyboard focusable.
The main view of Firefox View has `role="application"` set which communicates to a screen reader user that a custom navigation pattern is to be expected. But since hyperlinks and buttons are expected to be made individually focusable, Tier 2 a11y_checks are currently failing the [ifKeyboardFocusable](https://searchfox.org/mozilla-central/rev/f6776253b65c05351b4004fe7c3353cac8d8a4af/testing/mochitest/tests/SimpleTest/AccessibilityUtils.js#348-386) check for these controls.
We need to add an custom exemption check for the Firefox View tab-row controls in the AccessibilityUtils to automatically pass these elements while the current navigation pattern is used.
Since some Firefox View tests will start passing a11y_checks, we also update the appropriate test manifests correcting the `fail-if` notations.
Differential Revision: https://phabricator.services.mozilla.com/D197387
This changes browser_opentabs_recency.js to check for window occlusion
before calling window.restore, and if waiting for the
occlusionstatechange event, waiting an extra event loop to ensure that
all the listeners have fired. This is necessary to ensure that the
browsing context has become active, which is the next check in the
helper function.
Differential Revision: https://phabricator.services.mozilla.com/D199647
* Add the shared module. It uses EveryWindow to listen for tab-related events and collapses them
into a single dispatched event.
* The class extends EventTarget, and only monitors window and tab events when a listener is added.
* Update the firefox-view consumers and their tests to use the module. Note that triggering a
tab-state change and seeing the tab change/recency events is async now.
* Add a new browser mochitest for the module and both TabChange and TabRecencyChange events.
* The module provides a potential home for optimizations like smarter caching and sorting of the tab
lists, but implementing these will belong to other bugs.
Differential Revision: https://phabricator.services.mozilla.com/D191502
* Add the shared module. It uses EveryWindow to listen for tab-related events and collapses them
into a single dispatched event.
* The class extends EventTarget, and only monitors window and tab events when a listener is added.
* Update the firefox-view consumers and their tests to use the module. Note that triggering a
tab-state change and seeing the tab change/recency events is async now.
* Add a new browser mochitest for the module and both TabChange and TabRecencyChange events.
* The module provides a potential home for optimizations like smarter caching and sorting of the tab
lists, but implementing these will belong to other bugs.
Differential Revision: https://phabricator.services.mozilla.com/D191502
- record frequency and page of search
- record how often show all search results is clicked on recent browsing and from which section
- record how often sort by date or site is clicked on history
- record how many searches are made before clicking on a search result
Differential Revision: https://phabricator.services.mozilla.com/D199285
Renames all instances of the snake_case identifier to
camelCase to match more closely to idiomatic JavaScript
and to existing conventions throughout the code base.
Differential Revision: https://phabricator.services.mozilla.com/D198826