Граф коммитов

225 Коммитов

Автор SHA1 Сообщение Дата
James Teh bd293df36c Bug 1852190 part 2: Reintroduce the IAccessible2 typelib. r=nlapre
We need this so that Python comtypes can generate bindings for IAccessible2.
This is almost identical to what was here before, but it excludes some stuff that was only needed for the COM interceptor.

Differential Revision: https://phabricator.services.mozilla.com/D187745
2023-10-04 23:58:45 +00:00
James Teh 65cbecf6ad Bug 1846660 part 2: Add IAccessibleTextSelectionContainer interface. r=nlapre
This just adds the COM interface to the build system.
It will be implemented in an upcoming patch.

Differential Revision: https://phabricator.services.mozilla.com/D185133
2023-08-04 02:51:42 +00:00
James Teh 96cc6ec069 Bug 1846660 part 1: Remove deprecated IAccessible2_3 implementation and interface. r=nlapre
No clients actually use this due to inherent flaws.

Differential Revision: https://phabricator.services.mozilla.com/D185132
2023-08-04 02:51:42 +00:00
Natalia Csoregi 84729900a3 Backed out 4 changesets (bug 1846660) for causing bustage on ia2AccessibleTextSelectionContainer.h. CLOSED TREE
Backed out changeset c097c6502edc (bug 1846660)
Backed out changeset 9bf0e6ec2653 (bug 1846660)
Backed out changeset eb0515d87ee5 (bug 1846660)
Backed out changeset f12d2f98186b (bug 1846660)
2023-08-04 04:30:18 +03:00
James Teh b5c3023dfa Bug 1846660 part 2: Add IAccessibleTextSelectionContainer interface. r=nlapre
This just adds the COM interface to the build system.
It will be implemented in an upcoming patch.

Differential Revision: https://phabricator.services.mozilla.com/D185133
2023-08-03 23:00:00 +00:00
James Teh 85a75acb0e Bug 1846660 part 1: Remove deprecated IAccessible2_3 implementation and interface. r=nlapre
No clients actually use this due to inherent flaws.

Differential Revision: https://phabricator.services.mozilla.com/D185132
2023-08-03 23:00:00 +00:00
James Teh daf109ee7f Bug 412902: Remove unused accessibility events. r=eeejay
This removes the unused AccTableChangeEvent class, as well as the following unused event constants:

- EVENT_ACTIVE_DECENDENT_CHANGED
- EVENT_LOCATION_CHANGE
- EVENT_HELP_CHANGE
- EVENT_DEFACTION_CHANGE
- EVENT_ACTION_CHANGE
- EVENT_ACCELERATOR_CHANGE
- EVENT_FOREGROUND
- EVENT_CAPTURE_START
- EVENT_CAPTURE_END
- EVENT_MOVESIZE_START
- EVENT_MOVESIZE_END
- EVENT_CONTEXTHELP_START
- EVENT_CONTEXTHELP_END
- EVENT_DRAGDROP_END
- EVENT_DIALOG_START
- EVENT_DIALOG_END
- EVENT_MINIMIZE_START
- EVENT_MINIMIZE_END
- EVENT_DOCUMENT_ATTRIBUTES_CHANGED
- EVENT_DOCUMENT_CONTENT_CHANGED
- EVENT_PROPERTY_CHANGED
- EVENT_PAGE_CHANGED
- EVENT_TEXT_CHANGED
- EVENT_TEXT_UPDATED
- EVENT_VISIBLE_DATA_CHANGED
- EVENT_TEXT_COLUMN_CHANGED
- EVENT_SECTION_CHANGED
- EVENT_TABLE_CAPTION_CHANGED
- EVENT_TABLE_MODEL_CHANGED
- EVENT_TABLE_SUMMARY_CHANGED
- EVENT_TABLE_ROW_DESCRIPTION_CHANGED
- EVENT_TABLE_ROW_HEADER_CHANGED
- EVENT_TABLE_ROW_INSERT
- EVENT_TABLE_ROW_DELETE
- EVENT_TABLE_ROW_REORDER
- EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED
- EVENT_TABLE_COLUMN_HEADER_CHANGED
- EVENT_TABLE_COLUMN_INSERT
- EVENT_TABLE_COLUMN_DELETE
- EVENT_TABLE_COLUMN_REORDER
- EVENT_WINDOW_CREATE
- EVENT_WINDOW_DESTROY
- EVENT_WINDOW_RESIZE
- EVENT_HYPERLINK_END_INDEX_CHANGED
- EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED
- EVENT_HYPERLINK_SELECTED_LINK_CHANGED
- EVENT_HYPERTEXT_LINK_ACTIVATED
- EVENT_HYPERTEXT_LINK_SELECTED
- EVENT_HYPERLINK_START_INDEX_CHANGED
- EVENT_HYPERTEXT_CHANGED
- EVENT_HYPERTEXT_NLINKS_CHANGED

Differential Revision: https://phabricator.services.mozilla.com/D183709
2023-07-19 02:56:55 +00:00
James Teh b90eb82b66 Bug 1843825 part 2: Renumber roles to fill in the gaps left by removed roles. r=eeejay
This was done with the following script:

```
import re

RE_ENUM = re.compile(r'^([^=]*= *)([\d]+)([^=]*\n)$')

def processFile(fn):
  inLines = open(fn, 'rt').readlines()
  outLines = []
  outNum = 0
  for inLine in inLines:
    m = RE_ENUM.match(inLine)
    if m:
      # Group 1 is the part of the line before the number.
      # Group 2 is the number.
      # Group 3 is the rest of the line after the number.
      inNum = int(m.group(2))
      if outNum == 0 and inNum != 0:
        raise ValueError("The first enum value isn't 0: %s" % inLine)
      outLine = m.group(1) + str(outNum) + m.group(3)
      outNum += 1
    else:
      outLine = inLine
    outLines.append(outLine)
  open(fn, 'wt').writelines(outLines)

processFile("accessible/base/Role.h")
processFile("accessible/interfaces/nsIAccessibleRole.idl")
```

Differential Revision: https://phabricator.services.mozilla.com/D183717
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
Eitan Isaacson 6998527d19 Bug 1754905 - Match Pivot API in nsIAccessiblePivot. r=Jamie
This patch does several things:
1. Remove virtual cursor doc accessible member.
2. Remove state-keeping nsAccessiblePivot implementation and replace it
   with something that is much more similar to the native Pivot
   interface.
3. Move nsIAccessiblePivot implementation to xpcom and rename it
   xpcAccessiblePivot.
4. Delete mochitests and introduce browser tests.
5. Make new xpcom implementation work on remote accessibles as well.

Differential Revision: https://phabricator.services.mozilla.com/D181813
2023-06-28 21:45:16 +00:00
Iulian Moraru 98478e7490 Backed out changeset f3095da827d9 (bug 1754905) for causing build bustages on DocAccessibleWrap. CLOSED TREE 2023-06-28 03:03:37 +03:00
Eitan Isaacson 556fa1bfbb Bug 1754905 - Match Pivot API in nsIAccessiblePivot. r=Jamie
This patch does several things:
1. Remove virtual cursor doc accessible member.
2. Remove state-keeping nsAccessiblePivot implementation and replace it
   with something that is much more similar to the native Pivot
   interface.
3. Move nsIAccessiblePivot implementation to xpcom and rename it
   xpcAccessiblePivot.
4. Delete mochitests and introduce browser tests.
5. Make new xpcom implementation work on remote accessibles as well.

Differential Revision: https://phabricator.services.mozilla.com/D181813
2023-06-27 16:59:54 +00:00
Butkovits Atila 9ac839ebe2 Backed out changeset 4d92a76cedd0 (bug 1754905) for causing bustages at LocalAccessible. CLOSED TREE 2023-06-27 03:46:47 +03:00
Eitan Isaacson 87391fa922 Bug 1754905 - Match Pivot API in nsIAccessiblePivot. r=Jamie
This patch does several things:
1. Remove virtual cursor doc accessible member.
2. Remove state-keeping nsAccessiblePivot implementation and replace it
   with something that is much more similar to the native Pivot
   interface.
3. Move nsIAccessiblePivot implementation to xpcom and rename it
   xpcAccessiblePivot.
4. Delete mochitests and introduce browser tests.
5. Make new xpcom implementation work on remote accessibles as well.

Differential Revision: https://phabricator.services.mozilla.com/D181813
2023-06-27 00:05:16 +00:00
Stanca Serban f0967c3305 Backed out changeset 8be4693aecbb (bug 1754905) for causing bustages in xpcAccessiblePivot.h. CLOSED TREE 2023-06-24 03:22:31 +03:00
Eitan Isaacson f872bcc7cc Bug 1754905 - Match Pivot API in nsIAccessiblePivot. r=Jamie
This patch does several things:
1. Remove virtual cursor doc accessible member.
2. Remove state-keeping nsAccessiblePivot implementation and replace it
   with something that is much more similar to the native Pivot
   interface.
3. Move nsIAccessiblePivot implementation to xpcom and rename it
   xpcAccessiblePivot.
4. Delete mochitests and introduce browser tests.
5. Make new xpcom implementation work on remote accessibles as well.

Differential Revision: https://phabricator.services.mozilla.com/D181813
2023-06-23 23:22:34 +00:00
Eitan Isaacson 4dce76304c Bug 1839515 - Remove pivot text navigation API. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D181576
2023-06-21 21:15:47 +00:00
Norisz Fay f8505d5db9 Backed out changeset 8178c74a4c65 (bug 1839515) for causing mochitest failures on browser_events_vcchange.js 2023-06-21 22:21:29 +03:00
Eitan Isaacson da7273bd10 Bug 1839515 - Remove pivot text navigation API. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D181576
2023-06-21 17:55:06 +00:00
James Teh 01d480b80d Bug 1837332: Remove unused HyperTextAccessible::EnclosingRange/VisibleRanges/RangeByChild/RangeAtPoint, TextRange::EmbeddedChildren/Text and xpcAccessibleTextRange::ScrollIntoView. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D180301
2023-06-14 00:43:11 +00:00
James Teh bd9bd8733b Bug 1835967: Remove TableAccessibleBase::Select/UnselectCol/Row. r=nlapre
Differential Revision: https://phabricator.services.mozilla.com/D179513
2023-06-07 01:40:25 +00:00
James Teh 6f49fe6b0c Bug 1828295 part 3: Add tests for GetCaretRect. r=morgan
This required exposing GetCaretRect via XPCOM.

Differential Revision: https://phabricator.services.mozilla.com/D179346
2023-05-31 10:04:18 +00:00
Natalia Csoregi 6f5c0c586c Backed out 3 changesets (bug 1828295) for causing failures on browser_caret_rect.js. CLOSED TREE
Backed out changeset 52b9bf7e6344 (bug 1828295)
Backed out changeset 6e6ee5fe337f (bug 1828295)
Backed out changeset 4e8ff9c439ef (bug 1828295)
2023-05-31 08:44:34 +03:00
James Teh c342e57201 Bug 1828295 part 3: Add tests for GetCaretRect. r=morgan
This required exposing GetCaretRect via XPCOM.

Differential Revision: https://phabricator.services.mozilla.com/D179346
2023-05-31 03:43:29 +00:00
James Teh 6cf954e1ce Bug 1821969 part 1: Remove Mac table layout guess cache. r=morgan
Now that we always have the core parent process cache, this is no longer necessary.
This also removes EVENT_TABLE_STYLING_CHANGED, which was only used to keep the Mac cache up to date.

Differential Revision: https://phabricator.services.mozilla.com/D178425
2023-05-24 10:50:45 +00:00
James Teh a9118fe9f2 Bug 1833301: Remove unused LocalAccessible::Help. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D178137
2023-05-23 11:11:35 +00:00
James Teh cd328c4093 Bug 1821963 part 3: Remove various components supporting the old accessibility architecture based on content process COM proxies. r=nlapre,nalexander
This includes AccessibleHandler, HandlerProvider, IGeckoCustom and the IAccessible2 COM proxy dll.
Even with the new architecture, we still use IAccessible2, but we no longer need a COM proxy because we aren't using COM across processes ourselves.
If clients want to use IAccessible2 across processes, they're responsible for registering a COM proxy themselves as with all other IAccessible2 applications.
Alternatively, they can rely on the IAccessible2 COM proxy which is included with Windows 10 and later.

Differential Revision: https://phabricator.services.mozilla.com/D177963
2023-05-22 20:19:45 +00:00
Narcis Beleuzu ed1139f199 Backed out 6 changesets (bug 1821963) for build bustages. CLOSED TREE
Backed out changeset a92c62e304f0 (bug 1821963)
Backed out changeset da6cba0b0dd4 (bug 1821963)
Backed out changeset 4ed7ca0eb04a (bug 1821963)
Backed out changeset f2fba0ef15d9 (bug 1821963)
Backed out changeset 706e46fc2688 (bug 1821963)
Backed out changeset 6de2b9548dc6 (bug 1821963)
2023-05-22 14:05:20 +03:00
James Teh 3a3b50114d Bug 1821963 part 3: Remove various components supporting the old accessibility architecture based on content process COM proxies. r=nlapre,nalexander
This includes AccessibleHandler, HandlerProvider, IGeckoCustom and the IAccessible2 COM proxy dll.
Even with the new architecture, we still use IAccessible2, but we no longer need a COM proxy because we aren't using COM across processes ourselves.
If clients want to use IAccessible2 across processes, they're responsible for registering a COM proxy themselves as with all other IAccessible2 applications.
Alternatively, they can rely on the IAccessible2 COM proxy which is included with Windows 10 and later.

Differential Revision: https://phabricator.services.mozilla.com/D177963
2023-05-22 10:00:21 +00:00
James Teh 888f2eec3d Bug 1824935 part 3: Add Accessible::ComputedARIARole. r=eeejay
This also exposes this via XPCOM.
This will be used by WebDriver and Dev Tools.

Differential Revision: https://phabricator.services.mozilla.com/D175583
2023-04-25 07:06:35 +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 3fb1357e3e Bug 1824935 part 3: Add Accessible::ComputedARIARole. r=eeejay
This also exposes this via XPCOM.
This will be used by WebDriver and Dev Tools.

Differential Revision: https://phabricator.services.mozilla.com/D175583
2023-04-24 23:35:51 +00:00
Eitan Isaacson 8bf95c7d17 Bug 1814220 - Allow ignoring list item markers in TextLeafPoint::FindBoundary. r=Jamie
Refactor in FindBoundary to allow easier skipping of leaves in the loop.

Differential Revision: https://phabricator.services.mozilla.com/D168445
2023-02-22 04:17:31 +00:00
Eitan Isaacson a8c6dc0db1 Bug 1816573 - Use flags in TextLeafPoint::FindBoundary instead of boolean arguments. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D169740
2023-02-21 16:37:23 +00:00
Eitan Isaacson d5e8f25121 Bug 1815774 - Introduce TextLeafPoint XPCOM bindings and tests. r=Jamie
This uses a bitfield for flags in FindBoundary, the idea is that it
will give some regression coverage if/when we move the native API
to do the same.

Differential Revision: https://phabricator.services.mozilla.com/D169246
2023-02-13 17:56:12 +00:00
Sylvestre Ledru 1f8d23143a Bug 1802288 - remove trailing whitespaces in idl/webidl files r=credential-management-reviewers,webidl,smaug,sgalich
Differential Revision: https://phabricator.services.mozilla.com/D165559
2022-12-28 09:52:44 +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
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
Nika Layzell 7ced96212e Bug 1778211 - Reject xpidl CDATA containing 'virtual', r=xpcom-reviewers,necko-reviewers,mccr8,dragana
We'll probably want to do something more accurate in the future with a
custom clang static analysis pass which validates that XPIDL interfaces
have the expected vtable and struct layout, however doing so would be
more involved than the string matching done in this patch.

In addition to checking for extra virtual methods, we'll likely also
want to check for data members on interfaces, and reject them unless the
class is marked as `[builtinclass]` in addition to some other attribute
which we'll need to add to prevent them from being implemented in Rust
(as c++ data members will not be reflected by the rust macro).

There were 2 instances of a comment which contained the word 'virtual'
within a CDATA block. These comments were moved out of the CDATA block
to avoid triggering the error.

Differential Revision: https://phabricator.services.mozilla.com/D151068
2022-07-06 14:53:06 +00:00
Eitan Isaacson a479c8f191 Bug 1713050 - P2: Add granularity to a11y caret move events. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D139746
2022-03-16 05:56:25 +00:00
Morgan Reschenberg ca2f84aa05 Bug 1757661: Make cached fields accessible in tests directly r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D139979
2022-03-14 19:52:50 +00:00
Iulian Moraru e8a5d3a8b3 Backed out 2 changesets (bug 1757661, bug 1756229) for causing build bustages on LocalAccessible.cpp. CLOSED TREE
Backed out changeset ba6ef5bc928e (bug 1757661)
Backed out changeset a6ea1aa0492a (bug 1756229)
2022-03-12 12:17:19 +02:00
Morgan Reschenberg c5a24dd555 Bug 1757661: Make cached fields accessible in tests directly r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D139979
2022-03-12 00:02:34 +00:00
Butkovits Atila bfa9c70d05 Backed out 2 changesets (bug 1756229, bug 1757661) for causing leaks. CLOSED TREE
Backed out changeset 20b9c772f7b5 (bug 1757661)
Backed out changeset 1dfe3b2c9405 (bug 1756229)
2022-03-09 01:12:55 +02:00
Morgan Reschenberg 9358cee431 Bug 1757661: Make cached fields accessible in tests directly r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D139979
2022-03-08 20:16:09 +00:00
James Teh 24238f9512 Bug 1741793 part 1: Remove TextRange stuff that was never implemented. r=eeejay
This class needs to be updated to support base Accessible and it doesn't make sense to port methods that can never be used.
Also, any new functionality (e.g. needed for the UIA text pattern) should now be implemented using TextLeafPoint/Range, not TextRange.

Differential Revision: https://phabricator.services.mozilla.com/D139340
2022-02-26 23:01:54 +00:00
Eitan Isaacson 7eb72ab403 Bug 1747749 - Introduce inner reorder event. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D134813
2022-01-04 17:41:41 +00:00
James Teh d3e92fc1a1 Bug 1742917 part 3: Move LinkIndexOf to HyperTextAccessibleBase. r=eeejay
I removed the sync IPDL implementation of LinkIndexOf because we can calculate this in the parent process even with the cache disabled.

Differential Revision: https://phabricator.services.mozilla.com/D132200
2021-12-02 06:55:28 +00:00
James Teh 934c9cb61c Bug 1741792 part 1: Cache the caret in the parent process using caret events. r=eeejay
As well as the caret offset, we also need to cache whether the caret is at the end of a line.
Therefore, this information has been added to caret events.

Differential Revision: https://phabricator.services.mozilla.com/D132097
2021-12-01 04:48:33 +00:00