Before this patch:
- while navigating the addon card details page with the help of a screen reader,
when one of the input controls included in the addon updates or private browsing row is
reached, the screen reader will just read the label associated to the input controls, e.g.
- once reached the "Allow automatic updates" radio buttons, the screen reader will read:
"Default selected radio button"
- then when moving the focus to the "Run in Private Windows" radio buttons,
the screen reader will read:
"Don't allow selected radio button"
and in both cases it would be clear what "Default" or "Don't allow" is related to
After this patch:
- while navigating inside a row with the `role` set to group and an aria-label set to the
same localized string used as the visible label for the group of controls, the screen reader will be
also announce explicitly the group of controls being entered, which makes the label on the
radio button much more clear than without it, e.g.
- once reached the "Allow automatic updates" radio buttons, the screen reader will read
"Allow automatice update panel, Default selected radio button"
- then when moving the focus to the "Run in Private Windows" radio buttons,
the screen reader will read:
"Leaving panel, Run in Private Window panel, Don't allow selected radio button"
There is definitely more tweaks we may look into to improve screen readers behavior on the
about:addons addon cards further, but this seems a reasonable first step in the direction
of improving the accessibility on the addon card details rows that include input controls,
and reviews passes on this patch may also help us to collect more feedback related to
additional accessibility tweaks to cover in separate followups.
Differential Revision: https://phabricator.services.mozilla.com/D181220
Before this patch:
- while navigating the addon card details page with the help of a screen reader,
when one of the input controls included in the addon updates or private browsing row is
reached, the screen reader will just read the label associated to the input controls, e.g.
- once reached the "Allow automatic updates" radio buttons, the screen reader will read:
"Default selected radio button"
- then when moving the focus to the "Run in Private Windows" radio buttons,
the screen reader will read:
"Don't allow selected radio button"
and in both cases it would be clear what "Default" or "Don't allow" is related to
After this patch:
- while navigating inside a row with the `role` set to group and an aria-label set to the
same localized string used as the visible label for the group of controls, the screen reader will be
also announce explicitly the group of controls being entered, which makes the label on the
radio button much more clear than without it, e.g.
- once reached the "Allow automatic updates" radio buttons, the screen reader will read
"Allow automatice update panel, Default selected radio button"
- then when moving the focus to the "Run in Private Windows" radio buttons,
the screen reader will read:
"Leaving panel, Run in Private Window panel, Don't allow selected radio button"
There is definitely more tweaks we may look into to improve screen readers behavior on the
about:addons addon cards further, but this seems a reasonable first step in the direction
of improving the accessibility on the addon card details rows that include input controls,
and reviews passes on this patch may also help us to collect more feedback related to
additional accessibility tweaks to cover in separate followups.
Differential Revision: https://phabricator.services.mozilla.com/D181220
As this is the only string in `services/`, let's simplify by moving it under `toolkit/` and removing `services/sync/locales/` as empty.
On advice from markh, the ON_NEW_DEVICE_ID notification is delayed during device registration & updates until the update has been written to storage.
Differential Revision: https://phabricator.services.mozilla.com/D178805
This changes the arguments of `ExtensionData.formatPermissionStrings()`.
The second `bundle` arg is dropped, and a `localization` option is added.
Call sites in m-c are updated, but this will also need a matching update for Thunderbird.
A few Thunderbird test cases will also need to be updated,
as they currently point to a non-existing localization file paths
"messenger/addons.ftl" and "messenger/addonPermissions.ftl".
As discussed at the addon workweek,
the Fluent l10n keys for extension permissions match the pattern:
webext-perms-description-{name}
where `{name}` is the permission's sanitized name.
A fluent-lint exception is added for the capitalization of these generated names.
To allow for message updates and subsequent l10n identifier updates,
a `PERMISSION_L10N_ID_OVERRIDES` map is provided.
Because Fluent localization keys are not enumerable
and attempting to format a missing key is an error,
the `PERMISSIONS_WITH_MESSAGE` set must be kept in sync with message updates.
Differential Revision: https://phabricator.services.mozilla.com/D158663
This patch updates the hover/focus tooltip for the fullscreen button to include the keyboard shortcut (default F for en-US locales), as well as expose it to localization so that it can be configured if needed.
Differential Revision: https://phabricator.services.mozilla.com/D177708
Most of the code was removed in Bug 1810790. This patch also removes the old UI
fragments from about:telemetry which contained broken links to documentation
that was already removed.
Differential Revision: https://phabricator.services.mozilla.com/D176579
This patch makes the subtitles settings panel easier to understand when using a screen reader, as well as
easier to navigate when using keyboard. Accessibility improvements include:
- announcing the panel when tabbing to it
- setting focus on the first interactable element when opening the panel
- announcing label for subtitles toggle and group label for font size radio buttons
- setting `aria-expanded` attribute to notify users that the subtitles video control has a collapsable panel
Keyboard improvements include:
- ESC key closes panel when open
- setting focus on the subtitles video control after closing the panel with ESC key
Differential Revision: https://phabricator.services.mozilla.com/D172314
Change the default value of `dom.webgpu.enabled` from `false` to `true` in Nightly builds.
Everything in `dom/webidl/WebGPU.webidl` that is `Exposed=(Window)` is also gated on the `dom.webgpu.enabled` pref, so it should not appear on `window` in beta or release builds.
Beyond that, WebGPU is not usable in beta or release builds regardless of the pref setting, because of these lines of code in `dom/webgpu/Instance.cpp`:
#ifdef RELEASE_OR_BETA
if (true) {
return "WebGPU is not yet available in Release or Beta builds.";
}
#endif
This function is the only way to create a `GPUAdapter`, which is the only way to access any interesting parts of the WebGPU API.
The mochitest `dom/webgpu/mochitest/test_disabled.html` checks that the value of the `dom.webgpu.enabled` pref is `false`. This is now only appropriate in beta and release builds, so change `dom/webgpu/mochitest/mochitest-no-pref.ini` accordingly.
Update feature gate description in `toolkit/components/featuregates/FeatureGate.toml`.
Differential Revision: https://phabricator.services.mozilla.com/D173475
Adding a button to the datepicker panel to clear the `<input
type=date>`/`<input type=datetime-local>` value with two clicks total,
as requested by users.
The visual appearance got a thumbs up from the UX for the current style
of the browser provided picker UI.
Co-Authored-By: Emilio Cobos Álvarez <emilio@crisal.io>
Differential Revision: https://phabricator.services.mozilla.com/D170033
Adding a button to the datepicker panel to clear the `<input
type=date>`/`<input type=datetime-local>` value with two clicks total,
as requested by users.
The visual appearance got a thumbs up from the UX for the current style
of the browser provided picker UI.
Co-Authored-By: Emilio Cobos Álvarez <emilio@crisal.io>
Differential Revision: https://phabricator.services.mozilla.com/D170033
Similar to Bug 1596845 - Implement new error page for DNS errors when DoH is enabled - this changes about:neterror to show an error page specific to DNS failures that would have previously been resolved by fallback to native resolution.
With the preference, network.trr.display_fallback_warning set (defaults to off), DNS resolution will now fail when the user is in trr mode 2 (trr first) and either of these occur:
- the TRR cannot be confirmed
- the canary network heuristic is tripped
The new custom error page will be shown for failures resulting from these conditions.
This offers the user more information about the failure, and the option to bypass this warning going forward.
As with Bug 1596845, this is experimental and will be further improved over time.
To see the error page, the user must first set the network.trr.display_fallback_warning preference.
They must then encounter one of the conditions (unable to confirm TRR or tripping the canary heuristic).
Preventing TRR confirmation can be done by modifying their local hosts file to map their regional TRR domain's to an invalid address.
Project plan: https://docs.google.com/document/d/12IGABt1eXI276qHduXXbVZqRFrhLN7Ad3gKEgxz81sE
Copy deck: https://docs.google.com/document/d/130UTox8bQbybjYIwvltR4qBg2hWjsGhuNUHypLwUAEQ
Depends on D165557
Differential Revision: https://phabricator.services.mozilla.com/D165558
In order to handle the content script case correctly we must expose the
contentScriptAddonPolicy to JavaScript. With that we can always see what
extension is trying to perform an action and use its name rather than internal
ID in the dialog.
Differential Revision: https://phabricator.services.mozilla.com/D161282
This changes about:neterror to show a specific error page when the DNS failure
occurs for a TRR mode3 page load. This offers the user more information about
the failure, and some options.
This page will be further improved at a later stage when we add a better
DNS over HTTPS settings page.
The page is visible when the browser is using DNS over HTTPS without fallback
to native DNS. To achieve this the user sets `network.trr.mode` to `3` then
loads a page such as `http://nonexistant.test`.
If a top level load's channel returns NS_ERROR_UNKNOWN_HOST we look at
whether the page was indeed loaded with an effectiveTRRMode == TRRONLY
(some loads are excluded from using TRR).
When that is true, we present the error page allowing the user to retry,
exclude the domain from TRR, or open the settings page.
Note: This initial implementation will not work if the
`network.dns.disablePrefetch` pref is set to true. In that case nsHttpChannel
does not get an OnLookupComplete callback, so it doesn't have the
effectiveTRRMode and trrSkipReason. This will be fixed in bug 1805372.
Project plan: https://docs.google.com/document/d/12IGABt1eXI276qHduXXbVZqRFrhLN7Ad3gKEgxz81sE
Copy deck: https://docs.google.com/document/d/130UTox8bQbybjYIwvltR4qBg2hWjsGhuNUHypLwUAEQ
Depends on D164642
Differential Revision: https://phabricator.services.mozilla.com/D164347
This changes about:neterror to show a specific error page when the DNS failure
occurs for a TRR mode3 page load. This offers the user more information about
the failure, and some options.
This page will be further improved at a later stage when we add a better
DNS over HTTPS settings page.
The page is visible when the browser is using DNS over HTTPS without fallback
to native DNS. To achieve this the user sets `network.trr.mode` to `3` then
loads a page such as `http://nonexistant.test`.
If a top level load's channel returns NS_ERROR_UNKNOWN_HOST we look at
whether the page was indeed loaded with an effectiveTRRMode == TRRONLY
(some loads are excluded from using TRR).
When that is true, we present the error page allowing the user to retry,
exclude the domain from TRR, or open the settings page.
Note: This initial implementation will not work if the
`network.dns.disablePrefetch` pref is set to true. In that case nsHttpChannel
does not get an OnLookupComplete callback, so it doesn't have the
effectiveTRRMode and trrSkipReason. This will be fixed in bug 1805372.
Project plan: https://docs.google.com/document/d/12IGABt1eXI276qHduXXbVZqRFrhLN7Ad3gKEgxz81sE
Copy deck: https://docs.google.com/document/d/130UTox8bQbybjYIwvltR4qBg2hWjsGhuNUHypLwUAEQ
Depends on D164642
Differential Revision: https://phabricator.services.mozilla.com/D164347
This changes about:neterror to show a specific error page when the DNS failure
occurs for a TRR mode3 page load. This offers the user more information about
the failure, and some options.
This page will be further improved at a later stage when we add a better
DNS over HTTPS settings page.
The page is visible when the browser is using DNS over HTTPS without fallback
to native DNS. To achieve this the user sets `network.trr.mode` to `3` then
loads a page such as `http://nonexistant.test`.
If a top level load's channel returns NS_ERROR_UNKNOWN_HOST we look at
whether the page was indeed loaded with an effectiveTRRMode == TRRONLY
(some loads are excluded from using TRR).
When that is true, we present the error page allowing the user to retry,
exclude the domain from TRR, or open the settings page.
Note: This initial implementation will not work if the
`network.dns.disablePrefetch` pref is set to true. In that case nsHttpChannel
does not get an OnLookupComplete callback, so it doesn't have the
effectiveTRRMode and trrSkipReason. This will be fixed in bug 1805372.
Project plan: https://docs.google.com/document/d/12IGABt1eXI276qHduXXbVZqRFrhLN7Ad3gKEgxz81sE
Copy deck: https://docs.google.com/document/d/130UTox8bQbybjYIwvltR4qBg2hWjsGhuNUHypLwUAEQ
Depends on D164642
Differential Revision: https://phabricator.services.mozilla.com/D164347