Commit Graph

10148 Commits

Author SHA1 Message Date
Nathan LaPre
8c8a637b75 Bug 1748585: Remove img elements with alt="" from the a11y tree, r=Jamie
This revision changes the logic for creation and updating of accessibles
corresponding to img elements such that alt="" (without click listeners or any
other aria attribute that forces an accessible) will effectively remove that
img's accessible from the accessibility tree. Next, this revision removes the
concept of eNoNameOnPurpose from accessible name handling, since it's now
unnecessary now that alt="" means "don't create an accessible" in most cases.
This revision also adds tests to verify the functionality and updates existing tests.

Differential Revision: https://phabricator.services.mozilla.com/D160706
2022-11-03 19:28:49 +00:00
Morgan Rae Reschenberg
9c9939a496 Bug 1798781: Add awaits for select events on mac r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D161085
2022-11-03 17:00:59 +00:00
Eitan Isaacson
680d9510e8 Bug 1791152 - Drop entire accessible ID map in UnregisterAll. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D160835
2022-11-02 20:55:15 +00:00
Morgan Rae Reschenberg
e70136af6d Bug 1798550: Use cached name accessor method when computing MEMBER_OF r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D160948
2022-11-02 19:32:58 +00:00
Morgan Rae Reschenberg
62549a5715 Bug 1798560: Links with empty anchors should return an empty relation for LINKS_TO r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D160952
2022-11-02 19:32:38 +00:00
Eitan Isaacson
bbb5780267 Bug 1798037 - Notify of bounds change if root doc element is given. r=morgan
DocAccessible::GetAccessible() won't return the document if a root element
like body is passed. We need to check for that in NotifyOfPossibleBoundsChange
and use the document accessible in that case.

We can't modify GetAccessible() because that is not that method is used
extensively and that is not the expected behavior.

Differential Revision: https://phabricator.services.mozilla.com/D160677
2022-11-02 19:08:10 +00:00
Morgan Rae Reschenberg
5318c8b0a3 Bug 1790435: Don't apply rotor post-filter if AXSearchText is empty r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D160836
2022-11-02 17:12:47 +00:00
Sandor Molnar
b6c8b21542 Backed out changeset 1b65ae3b0371 (bug 1791152) for causing android gv-junit-fis failures in SessionAccessibility CLOSED TREE 2022-11-02 21:05:46 +02:00
Eitan Isaacson
20d9729e85 Bug 1797393 - P3: Explicitly assign font name to text area in linebreak test. r=Jamie
For some reason the default monospace font in Linux is not actually
monospaced and a linebreak is not guaranteed.

Also disable spellcheck. It causes a reflow after caret move with certain fonts.

Differential Revision: https://phabricator.services.mozilla.com/D160301
2022-11-02 16:28:46 +00:00
Eitan Isaacson
d52ec21565 Bug 1797393 - P2: Robustify spelling error text test. r=Jamie
Layout can trigger several text attribute changed events. We need to
wait until we get the correct one before continuing the test.

Differential Revision: https://phabricator.services.mozilla.com/D160300
2022-11-02 16:28:45 +00:00
Eitan Isaacson
f4f958a316 Bug 1797393 - P1: Split and rename browser text tests. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D160299
2022-11-02 16:28:45 +00:00
Eitan Isaacson
ffbb4d3202 Bug 1791152 - Drop entire accessible ID map in UnregisterAll. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D160835
2022-11-02 16:23:42 +00:00
Michael Comella
d5ba5471ee Bug 1798388 - add profiler markers for common accessibility functions. r=eeejay
Here is a sample profile with the new markers: https://share.firefox.dev/3DMY1cs

Differential Revision: https://phabricator.services.mozilla.com/D160847
2022-11-02 16:23:24 +00:00
Michael Comella
10a0137f2e Bug 1798388 - add Accessibility profiler category; convert existing code. r=canaltinova,eeejay
We use profiler categories to separate out the profiler markers for major
components, such as DOM or Layout, to quickly understand what is happening in
each of them: this will also be helpful for accessibility. One might be
concerned that we're adding too many categories but I think it's fine: the
accessibility category shouldn't appear if accessibility services aren't in use.
Furthermore, if accessibility code is running when it's unexpected, having the
accessibility category appear will only highlight that fact.

Differential Revision: https://phabricator.services.mozilla.com/D160846
2022-11-02 16:23:24 +00:00
Adam Vandolder
0be4513261 Bug 1665151 - Part 2: Expose custom element default accessibility attributes. r=edgar,Jamie,credential-management-reviewers,sgalich
Differential Revision: https://phabricator.services.mozilla.com/D159237
2022-11-02 14:50:56 +00:00
Anna Yeddi
ec1ccb416c Bug 1798438 - Add datetime-local support to list of accessibles. r=Jamie
Adding datetime-local atom to the HTMLMarkupMap to map `<input type=datetime-local>` to `DATE_EDITOR` role and providing test coverage for this new accessible.

Differential Revision: https://phabricator.services.mozilla.com/D160871
2022-11-01 15:34:05 +00:00
Morgan Rae Reschenberg
77efbaba52 Bug 1797222: Make char rects relative to their continuation before caching r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D160401
2022-10-31 20:57:30 +00:00
Morgan Rae Reschenberg
b0dedce119 Bug 1787284: [Part 4] Core tests for MEMBER_OF relation r=eeejay
Depends on D159119

Differential Revision: https://phabricator.services.mozilla.com/D159120
2022-10-31 19:49:50 +00:00
Morgan Rae Reschenberg
5ba1794a07 Bug 1787284: [Part 3] Use cached name to compute MEMBER_OF rel for HTML radio buttons r=eeejay
Depends on D159118

Differential Revision: https://phabricator.services.mozilla.com/D159119
2022-10-31 19:49:50 +00:00
Morgan Rae Reschenberg
a655200f47 Bug 1797131: Avoid making copies when iterating kRelationTypeAtoms r=nlapre
Differential Revision: https://phabricator.services.mozilla.com/D160118
2022-10-31 19:45:30 +00:00
Sandor Molnar
456b5e980c Backed out 3 changesets (bug 1797393) for causing mochitest failures in accessible/tests/browser/e10s/browser_text_caret.js CLOSED TREE
Backed out changeset 92b3f4f74412 (bug 1797393)
Backed out changeset a833abbbc1a7 (bug 1797393)
Backed out changeset 3c0193df13d2 (bug 1797393)
2022-10-28 22:40:53 +03:00
Eitan Isaacson
b568ca1245 Bug 1797393 - P3: Explicitly assign font name to text area in linebreak test. r=Jamie
For some reason the default monospace font in Linux is not actually
monospaced and a linebreak is not guaranteed.

Differential Revision: https://phabricator.services.mozilla.com/D160301
2022-10-28 18:30:01 +00:00
Eitan Isaacson
9706b711cc Bug 1797393 - P2: Robustify spelling error text test. r=Jamie
Layout can trigger several text attribute changed events. We need to
wait until we get the correct one before continuing the test.

Differential Revision: https://phabricator.services.mozilla.com/D160300
2022-10-28 18:30:01 +00:00
Eitan Isaacson
4c3297aee9 Bug 1797393 - P1: Split and rename browser text tests. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D160299
2022-10-28 18:30:00 +00:00
Daniel Holbert
9bf9e1618d Bug 1797840: Replace stray tab character with space, in a11y msaa file ISimpleDOMDocument.idl. r=eeejay
DONTBUILD because this is just whitespace cleanup.

Note: mccr8 mentioned in D160577 that this is MSCOM IDL and not XPIDL, for what
it's worth. In any case, there doesn't seem to be any functional significance
to the tab character that I'm removing here, since it's in a declaration
pattern that's repeated in this file, and only this one instance has stray tab
before the closing-paren.

Depends on D160577

Differential Revision: https://phabricator.services.mozilla.com/D160580
2022-10-28 18:08:18 +00:00
James Teh
681e69a5ca Bug 1774285 - Avoid a11y instantiation after clipboard copy. r=nlapre,jamie CLOSED TREE
This prevents a11y from getting instantiated shortly after clipboard paste, in
order to prevent hangs with the Windows 11 suggested actions feature.

When combined with the previous patch, the behavior is the following:

 * For users with a11y already-enabled:

   * No hang (due to clipboard flush).
   * Quick actions menu is positioned at selection offset.

 * For users with a11y disabled (most):

   * No hang (due to no a11y instantiation + clipboard flush).
   * Quick actions menu is positioned at pointer (cursor) offset.

Co-Authored-By: Emilio Cobos Álvarez <emilio@crisal.io>

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

Depends on D160646
2022-10-28 14:48:25 +00:00
Eitan Isaacson
e69880623f Bug 1797858 - Don't leave test without content task promise resolved. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D160575
2022-10-28 01:13:23 +00:00
Morgan Rae Reschenberg
771a9f1a94 Bug 1795221: Implement LINKS_TO relation as a tree traversal r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D159451
2022-10-27 20:32:18 +00:00
Morgan Rae Reschenberg
dbeec6c2f2 Bug 1787284: [Part 2] Cache name and create radio name pivot rule r=eeejay
Depends on D158892

Differential Revision: https://phabricator.services.mozilla.com/D159118
2022-10-27 20:32:18 +00:00
Morgan Rae Reschenberg
6e6dc5a06e Bug 1787284: [Part 1] Use tree heirarchy to compute MEMBER_OF in parent process for aria radio buttons r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D158892
2022-10-27 20:32:17 +00:00
Christian Holler
7e34a3062a Bug 1795124 - Add missing target check in DocAccessibleParent. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D159326
2022-10-26 08:53:39 +00:00
James Teh
0ab70514cb Bug 1730431: Fix incorrect default min/cur/max/text values for ARIA spinbuttons. r=eeejay
For spinbutton, the spec says there should be "no value" for all of these.
Importantly, this prevents the incorrect value of "50" being reported for ARIA spinbuttons with no value.

Differential Revision: https://phabricator.services.mozilla.com/D159924
2022-10-26 00:38:15 +00:00
Eitan Isaacson
3d10b581aa Bug 1796876 - Allow selected option and list to be null. r=morgan
HTMLComboboxListAccessible::SelectedOption can return null, so we need
to prepare for that. Same with HTMLComboboxListAccessible::List when
the combo box's child is removed.

Differential Revision: https://phabricator.services.mozilla.com/D159961
2022-10-24 16:03:06 +00:00
Eitan Isaacson
d152e213a3 Bug 1796710 - Don't include newline when finding line start after table. r=Jamie
This tweak is needed to allow this test to pass with our new caching
text implementation.

Differential Revision: https://phabricator.services.mozilla.com/D159909
2022-10-21 21:43:18 +00:00
Csoregi Natalia
34701eeef7 Backed out 4 changesets (bug 1787284) for causing failures on browser_caching_relations.js. CLOSED TREE
Backed out changeset fe4a5fa0fa27 (bug 1787284)
Backed out changeset 54e0b1365f89 (bug 1787284)
Backed out changeset c6db418af190 (bug 1787284)
Backed out changeset fda6706bb580 (bug 1787284)
2022-10-21 02:43:42 +03:00
Morgan Rae Reschenberg
ae86ca7bdd Bug 1787284: [Part 4] Core tests for MEMBER_OF relation r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D159120
2022-10-20 21:40:06 +00:00
Morgan Rae Reschenberg
af39c3b5c0 Bug 1787284: [Part 3] Use cached name to compute MEMBER_OF rel for HTML radio buttons r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D159119
2022-10-20 21:40:06 +00:00
Morgan Rae Reschenberg
91b749da9e Bug 1787284: [Part 2] Cache name and create radio name pivot rule r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D159118
2022-10-20 21:40:06 +00:00
Morgan Rae Reschenberg
8b54dbbb47 Bug 1787284: [Part 1] Use tree heirarchy to compute MEMBER_OF in parent process for aria radio buttons r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D158892
2022-10-20 21:40:05 +00:00
Morgan Rae Reschenberg
f52164c7b8 Bug 1774708: Queue cache update for viewport cache when transform change detected r=nlapre
Differential Revision: https://phabricator.services.mozilla.com/D159529
2022-10-20 20:48:35 +00:00
Morgan Rae Reschenberg
019604b467 Bug 1787274: Manually add combobox lists, options to the viewport cache r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D159768
2022-10-20 16:33:01 +00:00
Emilio Cobos Álvarez
f1cb20723d Bug 1796199 - Remove script access to XUL layout attributes. r=Gijs
These don't work on emulated flexbox. We only have a couple of uses.

See D159726 for the diagnostic patch I used to catch these.

Differential Revision: https://phabricator.services.mozilla.com/D159727
2022-10-20 08:36:00 +00:00
James Teh
ff93da3728 Bug 1793748: Don't treat a role="row" as a table row if it has an invalid parent. r=morgan
Previously, we were inconsistent in what we treated as a table row in various places.
This caused breakage after bug 1726124, since nsAccUtils::TableFor() started returning a table when an ARIA row had an invalid parent, but Filters::GetRow wouldn't find such a row
This was causing broken expectations (and consequently, an extremely long loop) in TableCellAccessible::PrevColHeader.
To fix this, avoid creating an ARIARowAccessible (and thus ARIAGridCellAccessibles) if the row's parent isn't valid.
This way, there aren't conflicting expectations because the TableCellAccessible code can never run.
Furthermore, clients don't get a broken table cell interface on invalid cells, which was a problem even before bug 1726124.

Differential Revision: https://phabricator.services.mozilla.com/D159679
2022-10-19 21:50:22 +00:00
Butkovits Atila
7f001fb596 Backed out changeset 39f39360ae48 (bug 1796199) for causing failures at test_panel.xhtml. CLOSED TREE 2022-10-20 00:39:56 +03:00
Emilio Cobos Álvarez
db485fd57c Bug 1796199 - Remove script access to XUL layout attributes. r=Gijs
These don't work on emulated flexbox. We only have a couple of uses.

See D159726 for the diagnostic patch I used to catch these.

Differential Revision: https://phabricator.services.mozilla.com/D159727
2022-10-19 19:18:04 +00:00
Morgan Rae Reschenberg
98c57d12c0 Bug 1792964: Add hittesting test for tables, table rows, table cells r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D159524
2022-10-18 22:30:10 +00:00
Morgan Rae Reschenberg
98bda97716 Bug 1787274: Use mCachedFields viewport cache for determining offscreen state r=Jamie,geckoview-reviewers,owlish
Differential Revision: https://phabricator.services.mozilla.com/D155903
2022-10-18 22:30:10 +00:00
James Teh
5e043f5fba Bug 1794100: Fix order of arguments for ATK GetPosition. r=eeejay
ATK expects row, col, but RemoteAccessible previously expected col, row.
The ATK code was passing row, col, thus querying the wrong cell.
To make things more confusing, PDocAccessible specified row, col, even though DocAccessibleChild and RemoteAccessible specified col, row.
Fix this by making the order of the arguments consistent with ATK everywhere; i.e. row, col.

Differential Revision: https://phabricator.services.mozilla.com/D159239
2022-10-18 21:59:02 +00:00
James Teh
afdcb2542f Bug 1794719: Fix retrieval of AtkObject from cached RemoteAccessible in GetColumn/RowHeaderCellsCB. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D159238
2022-10-18 21:58:34 +00:00
James Teh
2770aa9376 Bug 1663796: Make Accessible::AppendTextTo produce text even if an Accessible has no frame. r=eeejay
Otherwise, we fail to fire a text removed event when something becomes display: none.

Differential Revision: https://phabricator.services.mozilla.com/D159362
2022-10-18 21:57:53 +00:00