Setting the caret via AtkText should scroll content into view

RESOLVED FIXED in Firefox 58

Status

()

defect
RESOLVED FIXED
4 years ago
2 years ago

People

(Reporter: jdiggs, Assigned: samuel.thibault)

Tracking

(Blocks 1 bug)

Trunk
mozilla58
Points:
---

Firefox Tracking Flags

(firefox41 affected, firefox58 fixed)

Details

Attachments

(2 attachments, 1 obsolete attachment)

(Reporter)

Description

4 years ago
Posted file scrolling.html
Steps to reproduce:
1. Load the attached test case in Firefox and be sure the first line is at the top of the window.
2. Launch Accerciser
3. In Accerciser, select the second child element (ROLE_SECTION) of the document frame in Accerciser's tree of accessibles.
4. In Accerciser's iPython console, type acc.queryText().setCaretOffset(4) to set the caret at offset 4 in the div which is scrolled off screen.

Expected result: The line in which the caret was placed would be scrolled into view.

Actual result: The caret is successfully placed in the div which is scrolled off screen, but that div is not scrolled into view.

Impact: An AT that controls navigation (like the Orca screen reader) is often presenting content which is not visible -- no problem for a user who is blind and working alone. But if the Orca user is working with a sighted peer, or using Orca along with magnification software which tracks the caret location, that peer or low vision user cannot see what is being presented.
(Reporter)

Updated

4 years ago
Blocks: orca
(Reporter)

Comment 1

4 years ago
Another impact: There are dynamic pages in which additional content is displayed when the user scrolls towards the bottom of the page. DuckDuckGo search results is one such page.

Orca sets the caret position via AtkText as the user navigates. If where the caret is being set is a non-focusable element, Firefox won't scroll the page and the additional content won't be displayed until the user scrolls (e.g. via Page Down).

Comment 2

4 years ago
Please raise the priority of this bug. Sometimes, it's not just a minor inconvenience, but the user actually needs to click something that he/she reads, and that is impossible if it's off the screen.
Yes, it's bad authoring if an active element haven't been made focusable or doesn't react to the keyboard, but that's the real world.
Thanks for your understanding.

Comment 3

4 years ago
I'm visual impaired and I use the Gnome Zoom Applet, it's very lack of time to scroll with mouse in the same time as Orca.

For your information in Thunderbird, both in mail and web view from feeds I haven't this issue.

Best regards.
(Assignee)

Comment 4

2 years ago
Posted patch proposed fix (obsolete) — Splinter Review
Hello,

Here is a working patch: HyperTextAccessible.cpp is simply missing calling ScrollIntoView to make sure that the new focus is visible, just like nsFrameSelection::MoveCaret does for normal keypresses.

Samuel
(Assignee)

Updated

2 years ago
Attachment #8910749 - Flags: a11y-review?(surkov.alexander)
(Assignee)

Updated

2 years ago
Attachment #8910749 - Flags: review?(surkov.alexander)
Comment on attachment 8910749 [details] [diff] [review]
proposed fix

Review of attachment 8910749 [details] [diff] [review]:
-----------------------------------------------------------------

looks good
Attachment #8910749 - Flags: review?(surkov.alexander)
Attachment #8910749 - Flags: review+
Attachment #8910749 - Flags: a11y-review?(surkov.alexander)
Assignee: nobody → samuel.thibault
Status: NEW → ASSIGNED
Hello Samuel,

Please update your commit message to match the desired format[1] and include author information in your patch.

[1] https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Committing_Rules_and_Responsibilities#Commit_message_restrictions
Flags: needinfo?(samuel.thibault)
(Assignee)

Comment 7

2 years ago
Posted patch proposed fixSplinter Review
Here is the same patch reworked with proper commit line and author
Attachment #8910749 - Attachment is obsolete: true
Flags: needinfo?(samuel.thibault)
Attachment #8917282 - Flags: checkin?(MattN+bmo)

Comment 8

2 years ago
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/9cbc9faa5c99
On accessibility SetSelectionRange, scroll the selection into view. r=surkov
Keywords: checkin-needed

Comment 9

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/9cbc9faa5c99
Status: ASSIGNED → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
You need to log in before you can comment on or make changes to this bug.