Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support getting text location information for TextInfo objects that aren't offset based. #8371

Closed
LeonarddeR opened this issue Jun 6, 2018 · 1 comment · Fixed by #8572
Closed
Milestone

Comments

@LeonarddeR
Copy link
Collaborator

LeonarddeR commented Jun 6, 2018

Problem description

For offset based TextInfos (like IAccessible2), it is possible to retrieve a point for a specific offset. This allows the move mouse to navigator object script to move the mouse to the exact point that a character takes on screen.

For non offsets based text infos, it is currently not possible to fetch this information. Currently, I think that UIA text info is the most important case where this functionality is lacking.

Proposed solution

It looks like UIA exposes a bounding rectangle for every character of a text range. The display model also exposes a bounding rectangle for every character and calculates a point from that rectangle. I'm pretty sure that IAccessible2 implements per character bounding rectangles as well.

Therefore, I propose an additional boundingRectangle property on textInfo objects that calculates the bounding rectangle of the current text range. This should be pretty easy when we use locationHelper (#7537). This will also allow us to implement de pointAtStart property for UIATextInfo, in which case moving the mouse to the current review position should be much more accurate. It would also allow detailled tracking of the browse mode position in Microsoft Edge and Microsoft Word with UIA enabled, that is, if both of them implement this properly.

cc @michaelDCurran

@LeonarddeR
Copy link
Collaborator Author

It looks like UIA only supports bounding rectangles per line. This means that line is the lowest resolution that the move mouse to navigator object script can use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants