The Bookmark Panel Message now has tab stops on the info button, message dismiss icon, and message link, as well as all form fields and CTA buttons.
Differential Revision: https://phabricator.services.mozilla.com/D42692
For accessibility, the address bar is now exposed as a parent combo box which contains the input and the results list.
The combo box role on urlbarView-body-inner is no longer needed and has therefore been removed.
This means screen readers no longer report an extraneous combo box whenever the results list is opened.
Differential Revision: https://phabricator.services.mozilla.com/D40917
For accessibility, the address bar is now exposed as a parent combo box which contains the input and the results list.
The combo box role on urlbarView-body-inner is no longer needed and has therefore been removed.
This means screen readers no longer report an extraneous combo box whenever the results list is opened.
Differential Revision: https://phabricator.services.mozilla.com/D40917
This patch modify the way how tooltip works on the tracking protection
icon. We use <tooltip> instead of 'tooltiptext' attribute in order to
limit the width of the tooltip in 500px.
Differential Revision: https://phabricator.services.mozilla.com/D40416
This patch implements the tooltip for showing the earliest date of the
block tracker record. The tooltip will be set during the initiation
gProtectionHandler module. And it will be updated if history has been
cleared. If there is no record, we won't do anyhting since the tracker
counter will be hidden entirely.
We also add an event handler for the hovar and focus state on the shield
icon in order to pre-fetch the data from tracking database. And we will
update the date here in case that there is no record during initition
but a new record comes later. The focus event is for the keyboard
navigation feature.
Differential Revision: https://phabricator.services.mozilla.com/D39694
This patch implements the tooltip for showing the earliest date of the
block tracker record. The tooltip will be set during the initiation
gProtectionHandler module. And it will be updated if history has been
cleared. If there is no record, we won't do anyhting since the tracker
counter will be hidden entirely.
We also add an event handler for the hovar and focus state on the shield
icon in order to pre-fetch the data from tracking database. And we will
update the date here in case that there is no record during initition
but a new record comes later. The focus event is for the keyboard
navigation feature.
Differential Revision: https://phabricator.services.mozilla.com/D39694
1. Remove aria-owns from the URL bar.
Before bug 1513337, this was a no-op because it crossed anonymous scope, which accessibility doesn't allow.
After bug 1513337 when this started taking effect, it caused some undesirable side effects.
Bug 1551598 should mitigate some of these issues, so we can re-evaluate then.
2. Revert bug 1535659, which removed role="combobox" from the URL bar results parent.
While the intention was to make a cleaner accessibility hierarchy, without aria-owns, we need this to ensure the correct role for the results list.
Differential Revision: https://phabricator.services.mozilla.com/D38825
At a high level, this change does the following:
- move the pluginchild actor to be a JSWindowActorChild
- move the parent handling from browser-plugins into a JSWindowActorParent
- move the crash handling from ContentCrashHandlers.jsm to the parent actor,
using a `PluginManager` object. It needs to talk to the actors (and vice
versa), so this seemed a better fit than spreading actor implementation
details to other JSMs.
- switch to using plugin IDs to identify plugins cross-process, instead of
combinations of names or other properties of the plugin tag. As part of that,
ensured plugin IDs are unique between "fake" plugins and the other ones.
- drop support for having a notification for more than 1 plugin. We only support
Flash, in practice, so there didn't seem to be much point in the added
complexity of trying to support more than 1 thing.
Some notes:
- the previous implementation mixes runIDs (for NPAPI plugin process "runs")
and GMP pluginIDs when doing crashreporting. AFAICT there is no guarantee
these don't conflict, so I've split them out to avoid issues. There's a
pluginCrashID object I pass around instead that has either a runID or
pluginID. Happy to rename some more for clarity.
- the previous implementation used `pluginInfo` and `plugin` for a bunch of
different types of variables. I've tried to be consistent, where:
* `pluginElement` is a DOM element for a plugin
* `activationInfo` is a JS object used to track click to play state for a plugin
* `plugin` is a plugintag as returned by the pluginhost service
* `pluginCrashID` is an identifier for a crashed plugin (see previous point).
- I'm still using broadcastAsyncMessage to tell the content processes about
gmp plugin crashes and plugin crash submission updates, because there's no
guarantee the actors are instantiated (for gmp plugins) nor can the parent
easily find out which actors to talk to (for either gmp or npapi plugins).
Open to suggestions there, too. I think our best bet might be moving that to
IPDL-based IPC within the GMP code, but that feels like a separate bug.
Differential Revision: https://phabricator.services.mozilla.com/D37665
This patch changes the anchor point of the protections popup to the
shield icon container. Also remove the alt key which is needed to
open the protection icon.
In addtion, this also makes these two popups are mutual exclusive.
Differential Revision: https://phabricator.services.mozilla.com/D37791