Setting the caret via AtkText should scroll content into view

RESOLVED FIXED in Firefox 58

Status

()

Core
Disability Access APIs
RESOLVED FIXED
3 years ago
3 months ago

People

(Reporter: Joanmarie Diggs, 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

3 years ago
Created attachment 8613622 [details]
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

3 years ago
Blocks: 374212
(Reporter)

Comment 1

3 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

2 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

2 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

4 months ago
Created attachment 8910749 [details] [diff] [review]
proposed fix

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

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

Updated

3 months ago
Attachment #8910749 - Flags: review?(surkov.alexander)

Comment 5

3 months ago
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)

Updated

3 months ago
Keywords: checkin-needed
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)
Keywords: checkin-needed
(Assignee)

Comment 7

3 months ago
Created attachment 8917282 [details] [diff] [review]
proposed fix

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)
Keywords: checkin-needed

Comment 8

3 months 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

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