Commit Graph

719 Commits

Author SHA1 Message Date
James Teh
8f27acc472 Bug 1529407: Correct MSAA accValue and accRole for role="document". r=MarcoZ
1. When role="document" is (redundantly) used on the body element, still expose the URL via accValue, just like we do for role="application".
2. Expose ROLE_SYSTEM_DOCUMENT for role="document" (rather than the string "document") as per the spec. (Chrome already does this, so I don't expect backwards compat problems with clients.)

Differential Revision: https://phabricator.services.mozilla.com/D20582

--HG--
extra : moz-landing-system : lando
2019-02-21 06:48:02 +00:00
Masatoshi Kimura
e25fbce870 Bug 1528651 - Re-enable warnings-as-errors on Windows in some directories. r=dmajor
--HG--
extra : source : ba86ea25070b37f4725834e1c2d9ec4c0783e119
2019-02-17 15:03:02 +09:00
Eitan Isaacson
baa769abf9 Bug 1525980 - Introduce nsIAccessibleAnnouncementEvent. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D19060

--HG--
extra : moz-landing-system : lando
2019-02-14 17:42:45 +00:00
Eitan Isaacson
e774f8ac17 Bug 1527421 - Return scrolling xpc event interface in MakeXPCEvent. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D19557

--HG--
extra : moz-landing-system : lando
2019-02-13 00:37:39 +00:00
Emilio Cobos Álvarez
0b8aea8fdd Bug 1523071 - Add bindings for LengthPercentage, and use it for text-indent. r=jwatt
Which is the only property that uses LengthPercentage alone.

Differential Revision: https://phabricator.services.mozilla.com/D17737
2019-02-10 04:10:24 +01:00
Marco Zehe
c27465e115 Bug 1461244 - Take into account row groups when creating ARIAGridRowAccessibles, r=Jamie
If all parts of a table are non-standard display types, like all elements being display:block;, we weren't properly determining table cell indices because we weren't always taking into account thead, tbody, or tfoot elements. This patch:

* Exposes non-standard tbody, tfoot and thead elements as groupings, similar to ARIA rowgroup.
* Adjusts the one instance in nsAccessibilityService::CreateAccessible that didn't account for the table not being the direct parent of the row node, but the grandparent instead.

Differential Revision: https://phabricator.services.mozilla.com/D18333

--HG--
extra : moz-landing-system : lando
2019-02-04 06:17:33 +00:00
Marco Zehe
97310d7a60 Bug 1523931 - Always create accessibles for div elements if they contain a br element, r=Jamie
After the fix for bug 646216, we no longer create divs with no text and only a br element for a line break. This breaks blank lines in contentEditables such as Gmail.

To fix, always create accessibles for divs if such a div contains a br element either as its first or last child.

Differential Revision: https://phabricator.services.mozilla.com/D18074

--HG--
extra : moz-landing-system : lando
2019-01-31 06:58:49 +00:00
Kris Maglione
eb14dd1d2c Bug 1478124: Part 8b - Update DocShell module to use a static component manifest. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D15040

--HG--
extra : rebase_source : d89ac470241cb6f6a43c29c6e90b1c0e4fc78028
extra : source : b0444e0bc801f828b49f9953a73498cf5ff5024b
2018-12-16 17:27:58 -08:00
Marco Zehe
61a4918bc9 Bug 646216 - Thin out the tree by only creating accessibles for relevant divs, r=Jamie,timdream
Relevant divs are:

* Those that have an ID attribute. This is important so anchors still work.
* Those whose first or last child is a text-only node.
* Those whose first or last child has an inline frame.

We now discard divs that are not display:block; or display:inline-block;. We also discard divs that are part of an anonymous subtree.

We stop creating divs from the eHyperTextType frame type alltogether.

Note that because of shadow DOM properties in the video controls, two additional divs with IDs require role="none" in the media controls widget code.

Differential Revision: https://phabricator.services.mozilla.com/D17348

--HG--
extra : moz-landing-system : lando
2019-01-29 04:17:20 +00:00
Andreea Pavel
34963c28d8 Backed out changeset 5440a333cf4b (bug 646216) for failing bc at browser_treeupdate_cssoverflow.js on a CLOSED TREE 2019-01-29 03:43:57 +02:00
Marco Zehe
881ce52030 Bug 646216 - Thin out the tree by only creating accessibles for relevant divs, r=Jamie,timdream
Relevant divs are:

* Those that have an ID attribute. This is important so anchors still work.
* Those whose first or last child is a text-only node.
* Those whose first or last child has an inline frame.

We now discard divs that are not display:block; or display:inline-block;. We also discard divs that are part of an anonymous subtree.

We stop creating divs from the eHyperTextType frame type alltogether.

Note that because of shadow DOM properties in the video controls, two additional divs with IDs require role="none" in the media controls widget code.

Differential Revision: https://phabricator.services.mozilla.com/D17348

--HG--
extra : moz-landing-system : lando
2019-01-29 00:05:53 +00:00
Eitan Isaacson
e63779903d Bug 1520611 - Prune children in Android. r=yzen
Differential Revision: https://phabricator.services.mozilla.com/D16743

--HG--
extra : moz-landing-system : lando
2019-01-24 00:23:45 +00:00
Eitan Isaacson
0ed303a220 Bug 1520611 - Add pivot prune prefilter, use it in jsat. r=yzen
Differential Revision: https://phabricator.services.mozilla.com/D16742

--HG--
extra : moz-landing-system : lando
2019-01-24 00:23:40 +00:00
Eitan Isaacson
e18c6010be Bug 1520611 - Consolidate ProxyAccessible::MustPruneChildren into nsAccUtils. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D16997

--HG--
extra : moz-landing-system : lando
2019-01-24 00:23:30 +00:00
Dorel Luca
207c24c7d2 Backed out 3 changesets (bug 1520611) for Android gv-junit failures in org.mozilla.geckoview.test.AccessibilityTest.testTree
Backed out changeset 0a48519a9ad1 (bug 1520611)
Backed out changeset 1fea939a7e7c (bug 1520611)
Backed out changeset c9e244ccc88d (bug 1520611)

--HG--
extra : rebase_source : 448bfe14fbb8741251064da295e036a93a376145
2019-01-23 12:09:29 +02:00
Marco Zehe
0105d49449 Bug 1521728 - Expose elements that have a title to the accessibility APIs, even if they wouldn't be accessible otherwise, r=Jamie
Elements such as html:span are normally only made accessible with ARIA attributes. Also expose them if they have a title attribute set. It can be assumed that information should be conveyed to the user in such cases.

Differential Revision: https://phabricator.services.mozilla.com/D17227

--HG--
extra : moz-landing-system : lando
2019-01-23 01:31:54 +00:00
Eitan Isaacson
8bcf525c5a Bug 1520611 - Prune children in Android. r=yzen
Differential Revision: https://phabricator.services.mozilla.com/D16743

--HG--
extra : moz-landing-system : lando
2019-01-22 19:49:05 +00:00
Eitan Isaacson
89f866d37a Bug 1520611 - Add pivot prune prefilter, use it in jsat. r=yzen
Differential Revision: https://phabricator.services.mozilla.com/D16742

--HG--
extra : moz-landing-system : lando
2019-01-22 19:49:00 +00:00
Eitan Isaacson
112ac1fb11 Bug 1520611 - Consolidate ProxyAccessible::MustPruneChildren into nsAccUtils. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D16997

--HG--
extra : moz-landing-system : lando
2019-01-22 19:49:15 +00:00
Ehsan Akhgari
4137a92662 Bug 1514340 - Part 2: Break out the content blocking related notifications into nsIWebProgressListener.onContentBlockingEvent(); r=baku,johannh
Differential Revision: https://phabricator.services.mozilla.com/D16052
2019-01-21 09:58:50 -05:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Ehsan Akhgari
06c3d29113 Bug 1521000 - Part 1: Reformat the tree to ensure everything is formatted correctly with clang-format r=sylvestre
Summary: # ignore-this-changeset

Reviewers: sylvestre

Reviewed By: sylvestre

Subscribers: reviewbot, emilio, jandem, bbouvier, karlt, jya

Bug #: 1521000

Differential Revision: https://phabricator.services.mozilla.com/D16936

--HG--
extra : histedit_source : 4add583bfa729ccc1aef934629ed45ff095189b0
2019-01-18 10:12:56 +01:00
Neil Deakin
d30462861e Bug 1482389, remove methods of XULTreeElement that return unused nsresults. In addition, change GetView to return the nsITreeView instead of using an out-parameter, r=paolo 2018-12-04 11:25:41 -05:00
Neil Deakin
cb10352f4b Bug 1482389, replace TreeBoxObject with XULTreeElement inherited from XULElement, r=peterv,paolo
--HG--
rename : dom/webidl/TreeBoxObject.webidl => dom/chrome-webidl/XULTreeElement.webidl
rename : layout/xul/tree/TreeBoxObject.cpp => dom/xul/XULTreeElement.cpp
rename : layout/xul/tree/TreeBoxObject.h => dom/xul/XULTreeElement.h
2018-12-04 11:25:30 -05:00
Marco Zehe
b4ebbe90ae Bug 1515186 - Always calculate group position for all children of an accessible after a tree mutation, r=Jamie
Previously, if we had children a, b, c, and d, then removed b, the group position for c and d would potentially be marked as dirty, but a would not. This caused the check for the availability of previous group info to return outdated information.

This patch now always forces the update of all children's group position when a children move has occurred, since it potentially affects all the children, not just the ones after it. In addition, accGroupInfo::Update() now checks if the previous and next siblings that are being used as shortcuts have dirty group info, and are being used only if they do not.

Differential Revision: https://phabricator.services.mozilla.com/D16059

--HG--
extra : moz-landing-system : lando
2019-01-10 05:59:01 +00:00
Emilio Cobos Álvarez
d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
James Teh
850ee9ea2b Bug 1515294: Only use SendSyncTextChangeEvent for live regions. r=MarcoZ
In order to support IA2 live regions with e10s (bug 1322532), text change events sent from the child process to the parent process use sync IPC.
That comes at a slight performance cost: the content process is blocked until the parent returns from sending and handling the event.
However, there is no reason to do this if the event is not for an accessible inside a live region; current clients don't need the sync behaviour outside of live regions.

Differential Revision: https://phabricator.services.mozilla.com/D15183

--HG--
extra : source : 415f827cb9ce211c48b0c6625e917582bc81fd3a
2018-12-21 09:16:38 +00:00
arthur.iakab
70a4778dd8 Backed out changeset 415f827cb9ce (bug 1515294) on suspicion of causing content process hangs a=backout CLOSED TREE 2018-12-23 00:04:39 +02:00
James Teh
f9cba89c57 Bug 1515294: Only use SendSyncTextChangeEvent for live regions. r=MarcoZ
In order to support IA2 live regions with e10s (bug 1322532), text change events sent from the child process to the parent process use sync IPC.
That comes at a slight performance cost: the content process is blocked until the parent returns from sending and handling the event.
However, there is no reason to do this if the event is not for an accessible inside a live region; current clients don't need the sync behaviour outside of live regions.

Differential Revision: https://phabricator.services.mozilla.com/D15183

--HG--
extra : moz-landing-system : lando
2018-12-21 09:16:38 +00:00
Neil Deakin
9397165b4e Bug 1492326, use Element helper methods in accessibility instead of QueryInterface to get interface implementations that might be implemented by custom elements, r=surkov 2018-12-04 11:32:15 -05:00
Neil Deakin
d2ed932b7c Bug 1492326, change methods of nsIDOMXUL* interfaces so that they return Elements to reduce usages as most callers want the return values as elements, r=peterv 2018-12-04 11:25:41 -05:00
Eitan Isaacson
fd62b95c18 Bug 1511955 - Don't traverse into children without hypertext interfaces. r=Jamie
This prevents an infinite loop where we go into a child only to find the
nearest hypertext accessible being its parent.

Differential Revision: https://phabricator.services.mozilla.com/D13998

--HG--
extra : moz-landing-system : lando
2018-12-10 03:30:21 +00:00
Ehsan Akhgari
0dcf936804 Bug 1510911 - Part 2: Backout changeset f8849239da42 (bug 1493563 - Part 5) for regressing performance 2018-12-03 14:27:53 -05:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Kyle Machulis
c241567f0f Bug 1505601 - Turn nsIDocShell XPIDL const lists into cenums; r=bzbarsky
Turn all const lists and related attributes into cenums, to provide a
vague sense of type safety.

Depends on D11715

Differential Revision: https://phabricator.services.mozilla.com/D11716

--HG--
extra : moz-landing-system : lando
2018-11-28 03:30:56 +00:00
Ehsan Akhgari
6099c9f67b Bug 1508472 - Part 1: First batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

Differential Revision: https://phabricator.services.mozilla.com/D13046

--HG--
extra : moz-landing-system : lando
2018-11-27 10:08:58 +00:00
Marco Zehe
4ae01a5d49 Bug 1380451 - create HTML table caption accessible unconditionally, r=Jamie
Creates the HTML Caption accessible from the markup map, but only if it's the first caption. Other caption elements are ignored as before.

This also creates caption accessibles for those captions that have been collapsed to zero height and width via CSS.

Differential Revision: https://phabricator.services.mozilla.com/D12756

--HG--
extra : moz-landing-system : lando
2018-11-25 23:39:52 +00:00
Marco Zehe
f86d40d773 Bug 1508935 - Create more accessibles from the HTML markup map rather than layout frame types, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D12639

--HG--
extra : moz-landing-system : lando
2018-11-23 06:49:00 +00:00
Paolo Amadini
b2a83ffc85 Bug 1499947 - Part 1 - Remove XULProgressMeterAccessible and its base template class. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D12144

--HG--
extra : rebase_source : 81275b233770a7e9716a2b811a08060fc5006e1b
2018-11-20 14:10:38 +00:00
Boris Zbarsky
47f81c215b Bug 1507540 part 7. Use notxpcom more in dom/. r=mccr8 2018-11-19 20:20:17 -05:00
Eitan Isaacson
3e98aa79f5 Bug 1479039 - Move PersistentPropertiesToArray to nsAccUtils. r=Jamie
In order to send send attributes in BatchData we will need to convert
them to an array. Here we factor out the private function that does that
and put it in nsAccUtils.

Differential Revision: https://phabricator.services.mozilla.com/D11211

--HG--
extra : moz-landing-system : lando
2018-11-12 16:41:31 +00:00
Marco Zehe
ab92f98230 Bug 1506041 - Code cleanup: Convert more static functions to lambdas in the markup map, r=Jamie
All static functions from nsAccessibilityService that were either only called once from the markup map, or are simple one-liners that were only called up to three times, were converted to lambdas in the markup map.

the static function that creates HyperTextAccessibleWrap has remained untouched because it is called a lot from the markup map, even though its implementation is actually just a one-liner.

The other untouched static function is the templated one for html:dt or html:dd.

Differential Revision: https://phabricator.services.mozilla.com/D11458

--HG--
extra : moz-landing-system : lando
2018-11-11 23:13:35 +00:00
Eitan Isaacson
82efc98977 Bug 1502187 - Add Batch protocol to PDocAccessible. r=Jamie
This protocol is meant to be used by platform wrappers to push bulk data
to the chrome process.

Depends on D9689

Differential Revision: https://phabricator.services.mozilla.com/D9864

--HG--
extra : moz-landing-system : lando
2018-11-06 04:22:08 +00:00
Marco Zehe
a7b776042d Bug 1501273 - Expose an html:form element as a landmark role if it has an accessible name, r=Jamie
If html:form has a name given via ARIA, expose it as a landmark to platform APIS that require it. At the time of this submission, this is the case for ATK.

Differential Revision: https://phabricator.services.mozilla.com/D9552

--HG--
extra : moz-landing-system : lando
2018-11-02 01:06:56 +00:00
Marco Zehe
50ba1dd30c Bug 1104947 - Complete the accessibility mapping for aria-current, r=Jamie
We already mapped aria-current to the correct attribute, but we did so unconditionally unless the value was false or undefined. However, if the value was an invalid token, it would not be mapped to "true" as per spec. Now, any bogus value for aria-current will be mapped as if the author had specified "true".

In addition, this patch adds aria-current to the known set of attributes with rules, which causes NSAccessibilityService::MustBeAccessible to make sure an accessible gets created if aria-current is set, even if that accessible is a html:span element. This fixes bug 1365904.

Differential Revision: https://phabricator.services.mozilla.com/D10331

--HG--
extra : moz-landing-system : lando
2018-11-02 06:40:47 +00:00
Alexander Surkov
08eb9dff6a Bug 1487311 - accessibility doesn't assosiate ids in shadow DOM, r=jamie, sr=smaug 2018-10-30 08:17:04 +08:00
Marco Zehe
c5581dfc0f Bug 1210630 - Section elements with accessible names should be mapped the same as ARIA role region, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D9480

--HG--
extra : moz-landing-system : lando
2018-10-24 05:34:22 +00:00
Marco Zehe
f1a7d75388 Bug 614572 - Expose the correct new landmark role for HTML aside, header, footer, main and nav elements, r=Jamie
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
2018-10-23 06:11:59 +00:00
Emilio Cobos Álvarez
ba51516ba5 Bug 1500416 - Account for display: contents in ScheduleContentInsertion. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D9338
2018-10-22 09:17:18 +02:00
Emilio Cobos Álvarez
5ebe7949ae Bug 1487312 - Fix content insertion accessibility notifications in Shadow DOM. r=Jamie,surkov
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
2018-10-20 01:19:08 +02:00