According to the HTML Accessibility API mappings spec, aside, footer, header, main and nav elements should be mapped to the WAI-ARIA landmark role exposure. For footer and header, this is only true if scoped to the body element.
This patch changes the exposed roles to the new landmark mapping for the various platforms.
Differential Revision: https://phabricator.services.mozilla.com/D9413
--HG--
extra : moz-landing-system : lando
The issue was specific to content insertion directly under a shadow root, the
rest should work (see bug 1427825 for the fix for other similar occurrences).
The removal of the aContainer argument follows the same pattern as bug 1442207.
Differential Revision: https://phabricator.services.mozilla.com/D6431
This matches the spec, https://drafts.csswg.org/css-values/#angles, which says:
> All <angle> units are compatible, and deg is their canonical unit.
And https://drafts.csswg.org/css-values/#compat, which says:
>When serializing computed values [...], compatible units [...] are converted into a single canonical unit.
And also other implementations (Blink always serializes angles as degrees in
computed style for example).
Also allows us to get rid of quite a bit of code, and makes computed angle value
representation just a number, which is nice.
Differential Revision: https://phabricator.services.mozilla.com/D8619
--HG--
extra : moz-landing-system : lando
The code does check for the case where a container has no children.
However, before it does so, it tries to check whether it needs to skip a text leaf child.
This check previously assumed there was a child to check, which crashed for a container with no children.
Differential Revision: https://phabricator.services.mozilla.com/D6588
--HG--
extra : moz-landing-system : lando
Everything that goes in a PLDHashtable (and its derivatives, like
nsTHashtable) needs to inherit from PLDHashEntryHdr. But through a lack
of enforcement, copy constructors for these derived classes didn't
explicitly invoke the copy constructor for PLDHashEntryHdr (and the
compiler didn't invoke the copy constructor for us). Instead,
PLDHashTable explicitly copied around the bits that the copy constructor
would have.
The current setup has two problems:
1) Derived classes should be using move construction, not copy
construction, since anything that's shuffling hash table keys/entries
around will be using move construction.
2) Derived classes should take responsibility for transferring bits of
superclass state around, and not rely on something else to handle that.
The second point is not a huge problem for PLDHashTable (PLDHashTable
only has to copy PLDHashEntryHdr's bits in a single place), but future
hash table implementations that might move entries around more
aggressively would have to insert compensation code all over the
place. Additionally, if moving entries is implemented via memcpy (which
is quite common), PLDHashTable copying around bits *again* is
inefficient.
Let's fix all these problems in one go, by:
1) Explicitly declaring the set of constructors that PLDHashEntryHdr
implements (and does not implement). In particular, the copy
constructor is deleted, so any derived classes that attempt to make
themselves copyable will be detected at compile time: the compiler
will complain that the superclass type is not copyable.
This change on its own will result in many compiler errors, so...
2) Change any derived classes to implement move constructors instead of
copy constructors. Note that some of these move constructors are,
strictly speaking, unnecessary, since the relevant classes are moved
via memcpy in nsTHashtable and its derivatives.
Change the name calculation rule of HTML 'table' element from eNoNameRule
to eNameFromSubtreeIfReqRule. That way the table won't get an accessible
name, but will be descended when building a name from a parent element's
contents.
--HG--
extra : rebase_source : 218aec9f90b0c420a5f6785e929e5512b6704567
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant C++ functions are updated to take a typed enum. JavaScript
calls are unaffected but they will throw if the string argument does not
correspond to one of the known entries in the C++ enum. The existing whitelists
and blacklists of annotations are also generated from the YAML file and all
duplicate code related to them has been consolidated. Once written out to the
.extra file the annotations are converted in string form and are no different
than the existing ones.
All existing annotations have been included in the list (and some obsolete ones
have been removed) and all call sites have been updated including tests where
appropriate.
--HG--
extra : source : 4f6c43f2830701ec5552e08e3f1b06fe6d045860
We need to be able to call these methods from const methods, so they must take a const Accessible*.
MozReview-Commit-ID: CDsWZG1ik31
--HG--
extra : rebase_source : 4721669afcd9101cb017361bd8f87fb8a860664a
IA2 now has IA2_ROLE_CONTENT_INSERTION/DELETION.
Mac has AXInsert/DeleteStyleGroup subroles.
We now create accessibles for these elements and expose the appropriate role.
For ATK, there is no specific role for these, so we just use the generic ATK_ROLE_SECTION.
MozReview-Commit-ID: 2khzRa7BQ6z
--HG--
extra : rebase_source : e1c84bdef9a23b225e9870660050790df94c4beb
It is conforming in HTML to use a div to group dt/dd elements.
Previously, we didn't create an accessible for dt/dd elements in this case.
MozReview-Commit-ID: 8GDDxU3RbLd
--HG--
extra : rebase_source : 558a67e1b21583c6fac766ee1d1a24606976177f
This SelectionManager assertion fails when running the testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py TestBackForwardNavigation.test_non_remote_about_pages marionette test. This assertion failure is bug 1126649.
This patch DOES NOT fix the cause of the assertion failure (a missing HyperTextAccessible). It just replaces this failing NS_NOTREACHED with NS_ERROR because I am removing the NS_NOTREACHED macro.
MozReview-Commit-ID: EVfyZlMwN4p
--HG--
extra : source : 676e9eb651d710bae1c76c3dae86a5cb1bded4d7
extra : intermediate-source : 6bce8da694e6803b04e7492094fc65b2b0e49bbf
extra : histedit_source : 57073997ac23879767937eaa3b42f78f60d1c942