Open Bug 1822443 Opened 2 years ago

[CTW] TextLeafPoint::FindTextAttrsStart should walk into the next/previous container

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

People

(Reporter: Jamie, Unassigned)

References

(Blocks 1 open bug)

Details

From this Phabricator discussion.

FindBoundary only returns the start or end of the document if it can't find a boundary. That means you can walk the entire document with FindBoundary until you hit the end (or start if you're going backwards).

In contrast, if FindTextAttrsStart hits the edge of a text container, it won't walk past. Consider this:

<p>a</p><p>b</p>

If you call FindTextAttrsStart on "a", it will return the end of a's leaf. If you call it again on the returned point, it will return the same point (the end of a's leaf). It really should walk to "b", since "b" is the next attributes start, even though it's in a different container. Without this, you can't iterate attribute runs in the document without also walking the Accessible tree yourself.

This doesn't matter for HyperText, but it does matter for other things; e.g UIA and maybe Mac.

This maybe doesn't seem like such a big deal for block elements, since you might argue they're inherently a boundary, but it's worse for inline elements:

<ins>a</ins>b

The ins has semantic relevance, so it creates an Accessible, but really, FindTextAttrsStart from "a" should find "b".

You need to log in before you can comment on or make changes to this bug.