Introduce basic TextMarker and TextMarkerRange support
Categories
(Core :: Disability Access APIs, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox80 | --- | fixed |
People
(Reporter: eeejay, Assigned: eeejay)
References
Details
(Whiteboard: [mac2020_1])
Attachments
(6 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
The apple text API is big. As an initial pass this bug will support some basic attributes:
- AXStartTextMarker
- AXEndTextMarker
- AXSelectedTextMarkerRange
... and the following parameterized attributes:
- AXLengthForTextMarkerRange
- AXStringForTextMarkerRange
- AXTextMarkerRangeForUnorderedTextMarkers
These attributes return the same values from any object in content (they are document relative). Therefore this will be implemented in a delegate associated with the content doc.
Assignee | ||
Comment 1•4 years ago
|
||
Updated•4 years ago
|
Assignee | ||
Comment 2•4 years ago
|
||
AXTextMarker and AXTextMarkerRange are opaque types that are not queried or
manipulated by the AT. For tests, we need to be able to retrieve them,
and pass them back.
This patch generalizes the wrapper we already had in nsIAccessibleMacInterface
and allows other types to be wrapped.
Depends on D81757
Assignee | ||
Comment 3•4 years ago
|
||
The delegate is associated with accessible documents (either local or remote).
I made a separate protocol for all the text marker stuff as it really is a seperate API.
Depends on D81758
Assignee | ||
Comment 4•4 years ago
|
||
These classes do a few things:
- They implement and abstract common text operations, for example:
(a) comparing two markers to know which one precedes the other.
(b) text retrieval for ranges
(c) geometric bounds for ranges
(d) etc. - They can be converted to and from AXTextMarker(Range)s. Since the AXTextMarker
should not contain a raw pointer since there is a potential for use-after-free,
we need to lookup the referenced accessible in its document to know that it still exists.
Note: mozTextAccessible got pushed to another unified source file, so we need to
declare some stuff for it. Ideally we would be detecting these kinds of things sooner.
Depends on D81759
Assignee | ||
Comment 5•4 years ago
|
||
This is a seperate patch because of the complexity.
Depends on D81760
Assignee | ||
Comment 6•4 years ago
|
||
Depends on D81761
Comment 8•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/989a2e803809
https://hg.mozilla.org/mozilla-central/rev/65f8e705d730
https://hg.mozilla.org/mozilla-central/rev/0441d1553b6b
https://hg.mozilla.org/mozilla-central/rev/9bc12053de5e
https://hg.mozilla.org/mozilla-central/rev/10a97d7a432d
https://hg.mozilla.org/mozilla-central/rev/6770e14bb2de
Description
•