Commit graph

79 commits

Author SHA1 Message Date
James Teh
93ea0f991e Bug 798492: Don't return BSTR from IAccessible::get_accRole. r=nlapre
This is a hack that was implemented a long time ago before IAccessible2.
However, it violates the MSAA API, breaks Microsoft's Inspect tool and violates the Core/HTML AAM specs.
In terms of backwards compatibility, anyone who wants to really access web content will be using IAccessible2 anyway.
Also, Chromium has never implemented this hack.

The mappings were largely taken from the Core and HTML AAM specs.
Where those specs didn't specify an MSAA role, ROLE_SYSTEM_GROUPING has been used, which is the closest we can get to a generic mapping and is also used by Chromium for these cases.

Differential Revision: https://phabricator.services.mozilla.com/D183828
2023-07-19 02:51:29 +00:00
James Teh
0cc53ffbc5 Bug 1843825 part 1: Remove unused Gecko a11y roles. r=eeejay
Some of these roles were duplicates, while others were just never used.
This removes the following roles:

- TITLEBAR
- GRIP
- SOUND
- CURSOR
- CARET
- WINDOW
- CHART
- BORDER
- COLUMN
- HELPBALLOON
- CHARACTER
- INDICATOR
- DROPLIST
- DIAL
- HOTKEYFIELD
- EQUATION
- BUTTONDROPDOWNGRID
- CLOCK
- SPLITBUTTON
- IPADDRESS
- ACCEL_LABEL
- ARROW
- COLOR_CHOOSER
- DESKTOP_ICON
- DESKTOP_FRAME
- DIRECTORY_PANE
- FILE_CHOOSER
- FONT_CHOOSER
- GLASS_PANE
- HTML_CONTAINER
- ICON
- LAYERED_PANE
- OPTION_PANE
- POPUP_MENU
- ROOT_PANE
- SCROLL_PANE
- SPLIT_PANE
- TABLE_COLUMN_HEADER
- TABLE_ROW_HEADER
- TEAR_OFF_MENU_ITEM
- TERMINAL
- VIEWPORT
- HEADER
- FOOTER
- RULER
- AUTOCOMPLETE
- EDITBAR
- PAGE
- REDUNDANT_OBJECT
- IME
- CALENDAR
- EMBEDDED_OBJECT

Differential Revision: https://phabricator.services.mozilla.com/D183716
2023-07-19 02:51:29 +00:00
Hunseop Jeong
bc6e2d89d2 Bug 1826904 - Add the AXSubrole for role="meter". r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D179884
2023-06-06 20:42:24 +00:00
Anna Yeddi
af5fecdbd1 Bug 1829269 - Add support for ARIA 1.3 role="image". r=Jamie
Adding ARIAMap for nsGkAtoms::image and mapping to it GRAPHIC to nsGkAtoms::image instead of img in RoleMap. This allows both tests listed in the expectations metadata file in `testing/web-platform/meta/wai-aria/role/synonym-roles.html.ini` to be passing, thus removing this file.

Differential Revision: https://phabricator.services.mozilla.com/D179720
2023-06-06 15:23:32 +00:00
James Teh
d143f977de Bug 1824935 part 1: Add ARIA roles to RoleMap. r=eeejay
This will soon be used to return standardized ARIA role names from a new function.

Differential Revision: https://phabricator.services.mozilla.com/D175581
2023-04-25 07:06:34 +00:00
Stanca Serban
041c4044bd Backed out 8 changesets (bug 1828816, bug 1822112, bug 1572512, bug 1824935) for causing multiple failures. CLOSED TREE
Backed out changeset 8886f7011919 (bug 1822112)
Backed out changeset df566bce405d (bug 1828816)
Backed out changeset 5857e8ef63e1 (bug 1828816)
Backed out changeset 50324d39e9c1 (bug 1822112)
Backed out changeset 7f6bee1959fb (bug 1572512)
Backed out changeset 4effd0bdc4db (bug 1824935)
Backed out changeset a8faf17fcce8 (bug 1824935)
Backed out changeset 0370b0032eb6 (bug 1824935)
2023-04-25 07:45:58 +03:00
James Teh
8a993e334d Bug 1824935 part 1: Add ARIA roles to RoleMap. r=eeejay
This will soon be used to return standardized ARIA role names from a new function.

Differential Revision: https://phabricator.services.mozilla.com/D175581
2023-04-24 23:35:50 +00:00
Morgan Rae Reschenberg
7d7067fe49 Bug 1804699: Assign date fields an AXGroup role, spoof actual role via AXTitle r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D172177
2023-03-24 19:06:35 +00:00
Frederic Wang
62d1893ea4 Bug 1791245 - More cleanup for the <mfenced> element. r=emilio
The <mfenced> element [1] is not part of MathML Core [2] or MathML AAM
[3] and was removed in bug 1603773. It should be treated as
an unknown MathML element, that is like an `<mrow>`.

This commit performs some follow-up code cleanup:

* Remove a11y mapping, instead map it like an mrow.

* Remove obsolete deprecation message.

* Don't include mfenced in the sanitizer's default element allow list.
  The spec [4] does not mention an explicit list.

* Preference mathml.mfenced_element.disabled was removed, so no need
  to force it when running tests.

* Tweak some code comments.

[1] https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfenced
[2] https://w3c.github.io/mathml-core/#mathml-elements-and-attributes
[3] https://w3c.github.io/mathml-aam/
[4] https://wicg.github.io/sanitizer-api

Differential Revision: https://phabricator.services.mozilla.com/D157580
2022-09-20 03:53:50 +00:00
Nathan LaPre
982410361d Bug 1732280 - Implement mappings for sub, sup elements and subscript, superscript roles, r=Jamie
This commit adds mappings for HTML sub and sup elements, as well as ARIA
role mappings for subscript, superscript roles, with the goal of properly
exposing this information to the accessibility tree. This commit also updates
text attribute code to account for the attributes implied by those roles.
Finally, this commit updates tests to verify that the role and attribute
information is working properly.

Differential Revision: https://phabricator.services.mozilla.com/D155523
2022-08-31 16:48:56 +00:00
James Teh
f08c138efd Bug 1732108: Map ATK_ROLE_CONTENT_DELETION/INSERTION. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D126432
2021-09-24 00:05:50 +00:00
Morgan Reschenberg
588e12696e Bug 1460378: Introduce meter role and HTMLMeterAccessible class. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D104759
2021-02-17 15:58:31 +00:00
Eitan Isaacson
b7272befe7 Bug 1674215 - Map role=tooltip to AXGroup instead of AXHelpTag. r=morgan
Safari maps role=tooltip to AXGroup/AXUserInterfaceTooltip.
I suspect AXHelpTag is meant for native tooltips.

This fixes an issue when VO encounters a tooltip in read-all it jumps out of the web content.

Differential Revision: https://phabricator.services.mozilla.com/D96626
2020-11-10 23:15:02 +00:00
Marco Zehe
82a0456a29 Bug 1673857 - Expose SVGs as images rather than unknown accessibles, r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D96069
2020-11-06 17:31:09 +00:00
Morgan Reschenberg
eef7c76d3c Bug 1665962: Introduce roles::LISTITEM_MARKER to rolemap, add mac mapping to AXListMarker r=eeejay,Jamie
Differential Revision: https://phabricator.services.mozilla.com/D90745
2020-09-29 22:31:58 +00:00
Razvan Maries
cc4aafb692 Backed out changeset e9d2bed643ab (bug 1665962) for perma failures on browser_rotor.js. CLOSED TREE 2020-09-30 00:22:30 +03:00
Morgan Reschenberg
8e5014ba1b Bug 1665962: Introduce roles::LISTITEM_MARKER to rolemap, add mac mapping to AXListMarker r=eeejay,Jamie
Differential Revision: https://phabricator.services.mozilla.com/D90745
2020-09-29 15:41:09 +00:00
Cosmin Sabou
25fe081468 Backed out 3 changesets (bug 1665962, bug 1666357, bug 1667174) for OS X bustages on MOXSearchInfo.mm and conflicts on browser_rotor.js. CLOSED TREE
Backed out changeset 495a69dcd720 (bug 1665962)
Backed out changeset 9cdbf4e04e19 (bug 1666357)
Backed out changeset 0d9d32b08317 (bug 1667174)
2020-09-28 22:18:32 +03:00
Morgan Reschenberg
53d47afda5 Bug 1665962: Introduce roles::LISTITEM_MARKER to rolemap, add mac mapping to AXListMarker r=eeejay,Jamie
Differential Revision: https://phabricator.services.mozilla.com/D90745
2020-09-28 18:40:56 +00:00
Razvan Maries
e146bab5ce Backed out 4 changesets (bug 1665962, bug 1666356, bug 1666380, bug 1665960) for perma failure on browser_content_tree.js and browser_treeupdate_list.js. CLOSED TREE
Backed out changeset 29f8600da112 (bug 1666380)
Backed out changeset f01adb0a0e05 (bug 1666356)
Backed out changeset bed1c58441de (bug 1665960)
Backed out changeset 65d6078a5314 (bug 1665962)
2020-09-24 22:18:08 +03:00
Morgan Reschenberg
bfb99727ec Bug 1665962: Introduce roles::LISTITEM_MARKER to rolemap, add mac mapping to AXListMarker r=eeejay,Jamie
Differential Revision: https://phabricator.services.mozilla.com/D90745
2020-09-23 23:33:49 +00:00
Morgan Reschenberg
7ab65dda65 Bug 1662147: Add AXControlSearchKey to rotor r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D89073
2020-09-15 16:42:34 +00:00
Razvan Maries
7c00a1f440 Backed out changeset 8c75a97a107c (bug 1662147) for perma failures on test_HTMLSpec.html. CLOSED TREE 2020-09-15 02:30:20 +03:00
Morgan Reschenberg
b99c8c44b6 Bug 1662147: Add AXControlSearchKey to rotor r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D89073
2020-09-14 21:22:50 +00:00
Eitan Isaacson
6d2844352a Bug 1625868 - Use AXDescription/List for dl/dd. r=morgan
It seems that VoiceOver expects AXDescriptionList and AXDescription
as subroles in order to report the correct number of items in a dl.

Differential Revision: https://phabricator.services.mozilla.com/D88890
2020-08-31 18:40:21 +00:00
Morgan Reschenberg
3083026d43 Bug 1641932: Add Mac subroles to role map. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D77500
2020-06-05 03:45:44 +00:00
Marco Zehe
bc8f0b63cb Bug 1635538 - Correct the AXRole for image maps, r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D75030
2020-05-13 20:07:42 +00:00
Marco Zehe
7215ba00a1 Bug 1635527 - Correct AXRole for status bar, r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D75028
2020-05-13 20:06:51 +00:00
Eitan Isaacson
c1c0b3551c Bug 1625184 - Map dialogs and alert dialogs correctly in Mac. r=MarcoZ
Differential Revision: https://phabricator.services.mozilla.com/D74957
2020-05-13 05:59:23 +00:00
Eitan Isaacson
d7324d465e Bug 1625870 - Support figure and figcaption is OSX. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D72509
2020-04-28 19:45:51 +00:00
Brindusan Cristian
ae12f8e207 Backed out changeset b9710246d416 (bug 1625870) for mochitest failures at test_figure.html. CLOSED TREE 2020-04-28 21:54:31 +03:00
Eitan Isaacson
b62ce6a55b Bug 1625870 - Support figure and figcaption is OSX. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D72509
2020-04-28 18:04:00 +00:00
Morgan Reschenberg
48fa33b966 Bug 1618706: Adjust role of grid cells from group to table-cell. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D68618

--HG--
extra : moz-landing-system : lando
2020-03-27 20:37:24 +00:00
Morgan Reschenberg
53fcf5a7d2 Bug 1617311: Add details/summary attributes and values. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D67233

--HG--
extra : moz-landing-system : lando
2020-03-27 22:08:40 +00:00
Marco Zehe
0948ee96fa Bug 1625153 - Implement the WAI-ARIA 1.2 code role, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D68432

--HG--
extra : moz-landing-system : lando
2020-03-26 21:26:15 +00:00
Eitan Isaacson
b70e223767 Bug 1618718 - Support AXToggle subrole and states. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D66841

--HG--
extra : moz-landing-system : lando
2020-03-14 05:39:59 +00:00
Marco Zehe
df16c0598f Bug 1608969 - Add new ARIA 1.3 comment role, r=Jamie
This adds both the role as well as calculation of the posinset, setsize, and level calculation if not provided by the author.

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

--HG--
extra : moz-landing-system : lando
2020-03-01 19:35:06 +00:00
Marco Zehe
93ff1614a5 Bug 1608965 Part 2 - Add ARIA suggestion role, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D64546

--HG--
extra : moz-landing-system : lando
2020-03-01 19:37:33 +00:00
Marco Zehe
02b10b3195 Bug 1608965 Part 1 - Add ARIA mark role, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D64545

--HG--
extra : moz-landing-system : lando
2020-03-01 19:38:16 +00:00
Marco Zehe
a464412e8e Bug 1616851 - For grouping, calculate name from subtree if requested by other accessible object, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D63619

--HG--
extra : moz-landing-system : lando
2020-02-24 06:52:19 +00:00
James Teh
809ba18b5c Bug 1505974: Include the subtree of role="alert" when referenced by aria-labelledby/describedby. r=MarcoZ
Differential Revision: https://phabricator.services.mozilla.com/D63037

--HG--
extra : moz-landing-system : lando
2020-02-17 06:39:24 +00:00
Emilio Cobos Álvarez
fff6c9e1ac Bug 981248 - Rewrite <input type=number> to avoid an anonymous input. r=masayuki,surkov,jwatt,ntim,jfkthame,smaug
Instead, subclass nsTextControlFrame. This simplifies the code and avoids
correctness issues.

I kept the localization functionality though it is not spec compliant. But I
filed a bug to remove it in a followup.

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

--HG--
extra : moz-landing-system : lando
2020-01-14 19:01:05 +00:00
Marco Zehe
78545b8343 Bug 982125 - make HTML5 <mark> accessible, r=Jamie
Mark the html:mark element to the new ROLE_MARK, which currently maps the same as role_text, and the xml-role of "mark", make sure we expose the roleDescription on Mac, and adjust the test so it tests that the attributes don't pick up any unexpected color for this particular element. So, the background attribute is empty when there is no unexpected, non-default background color.

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

--HG--
extra : moz-landing-system : lando
2019-11-18 05:34:15 +00:00
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
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
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
Eitan Isaacson
fb91501986 Bug 1499182 - Make Android role class names enums. r=jchen,Jamie
Differential Revision: https://phabricator.services.mozilla.com/D8764

--HG--
extra : moz-landing-system : lando
2018-10-17 20:43:49 +00:00
Eitan Isaacson
0aa327aaa4 Bug 1491480 - Change class mapping for spinner. r=Jamie
A gecko SPINBUTTON is a composite widget with an input field child. It should not have an EditText class.
2018-09-18 10:43:18 -07:00
Joanmarie Diggs
7471d4968b Bug 1484248 - Accessible name calculation from label content should include cells. r=surkov
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
2018-08-17 08:14:00 +03:00
Eitan Isaacson
4561e8e337 Bug 1479036 - Android classes role additions. r=surkov
--HG--
extra : rebase_source : a3612efad26d164c33e7724079722c3163b5cf71
2018-08-09 14:43:00 +03:00