Bug#870276: Firefox: Setting the caret via AtkText should scroll content into view

Samuel Thibault sthibault at debian.org
Thu Oct 12 13:32:02 UTC 2017


Hello,

Alex ARNAUD, on lun. 31 juil. 2017 15:28:07 +0200, wrote:
> Forwarded: https://bugzilla.mozilla.org/show_bug.cgi?id=1170242

The proposed patch has been commited upstream, to appear in firefox 58.

Just wondering: considering that it's a one-liner (as attached to this
mail) and the following usability impact (I can confirm that I have
myself been in such an awkward situation with a blind colleague):

> 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."

how do you feel about including the patch in sid already, and about
including it stretch or even jessie?

Samuel
-------------- next part --------------
# HG changeset patch
# User Samuel Thibault <samuel.thibault at ens-lyon.org>
# Date 1507711433 -7200
#      Wed Oct 11 10:43:53 2017 +0200
# Branch scroll
# Node ID 3ac0a59c711a2478016e032ba91ef3fba7e2f467
# Parent  acfdf5d0d1f33f0550d4f566adb1084d9c724b41
Bug 1170242 On accessibility SetSelectionRange, scroll the selection into view. r=surkov

diff -r acfdf5d0d1f3 -r 3ac0a59c711a accessible/generic/HyperTextAccessible.cpp
--- a/accessible/generic/HyperTextAccessible.cpp	Tue Oct 10 22:59:38 2017 -0700
+++ b/accessible/generic/HyperTextAccessible.cpp	Wed Oct 11 10:43:53 2017 +0200
@@ -1336,6 +1336,13 @@
     domSel->RemoveRange(domSel->GetRangeAt(idx));
   SetSelectionBoundsAt(0, aStartPos, aEndPos);
 
+  // Make sure it is visible
+  domSel->ScrollIntoView(nsISelectionController::SELECTION_FOCUS_REGION,
+                         nsIPresShell::ScrollAxis(),
+                         nsIPresShell::ScrollAxis(),
+                         dom::Selection::SCROLL_FOR_CARET_MOVE |
+                             dom::Selection::SCROLL_OVERFLOW_HIDDEN);
+
   // When selection is done, move the focus to the selection if accessible is
   // not focusable. That happens when selection is set within hypertext
   // accessible.


More information about the pkg-mozilla-maintainers mailing list