New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 646117 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 22
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug
Team-Accessibility



Sign in to add a comment

Screen Reader: no scroll event is fired when reading content that is out of frame

Reported by joel.l...@pearson.com, Sep 12 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.101 Safari/537.36

Steps to reproduce the problem:
1. Go here: https://jsbin.com/watiqakuje/1/edit?output
2. Focus the passage with screen reader (NVDA)
3. Use the down arrow to read the content until content is being read that is out of frame

What is the expected behavior?
The content area should be notified of the users focus position.

What went wrong?
Nothing tells the content element that it needs to scroll down. Content continues to be read, but it cannot be seen visually.

Did this work before? N/A 

Chrome version: 53.0.2785.101  Channel: stable
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: Shockwave Flash 22.0 r0

On other browsers a scroll event is triggered when the lower content is reached. Note that this is a custom scroll bar, but it is listening for any kind of scroll event. The problem is no such event gets triggered.
 
It looks like there is an event that is being trigger it is just on the document and not on the window, like in other browsers. I will look into this more and I think it is just an issue with the custom scroll bar not identifying the event properly.
I have tested this out and I have a simplified jsbin that exhibits the issue: https://jsbin.com/yotuxofolu/edit?output

I have removed the custom scroll bar from the previous example and you can see that in Firefox and IE11 the browser will scroll the div down while reading its contents.

Expected behavior: Chrome should adjust the div to display the content that the screen reader is reading.
I attached a video that shows the issue. Notice that on Firefox and Internet Explorer the div scrolls down while being read, but on chrome there is no scrolling. 

On each page I am tabbing to the element and pressing the down arrow as the screen reader reads the content line by line.
Div-scrolling-while-reading.mp4
5.5 MB View Download
Any updates on this question?
Components: -UI UI>Accessibility
Owner: nek...@chromium.org
Labels: NewComponent-Accessibility NewComponent-Accessibility-Compatibility

Comment 7 by nek...@chromium.org, Mar 29 2017

Cc: nek...@chromium.org
Labels: -NewComponent-Accessibility-Compatibility
Owner: dmazz...@chromium.org
Status: assigned (was: Unconfirmed)
Dominic, would you mind taking this over?
Labels: -newcomponent-accessibility
Labels: triage-dominic
I can still reproduce this, though the behavior is slightly different. Looks like it alternates between scrolling correctly, and scrolling incorrectly, every other line.

Project Member

Comment 11 by bugdroid1@chromium.org, Dec 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/00c26deabe0cda509e37e71498fdb4f2a97e0f9c

commit 00c26deabe0cda509e37e71498fdb4f2a97e0f9c
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Mon Dec 04 21:10:15 2017

The argument to SCROLL_TO_MAKE_VISIBLE takes local coordinates.

Passing the wrong coordinates was causing it to scroll to the wrong
place and sometimes bounce around. Adds a new browser test to
ensure that calling scrollTo works as expected.

Bug: 788696,  646117 
Change-Id: Ia8014c9ee96eef14a60a7f4ddebeec02e2f15db4
Reviewed-on: https://chromium-review.googlesource.com/802235
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Doug Turner <dougt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521451}
[modify] https://crrev.com/00c26deabe0cda509e37e71498fdb4f2a97e0f9c/content/browser/accessibility/accessibility_win_browsertest.cc
[modify] https://crrev.com/00c26deabe0cda509e37e71498fdb4f2a97e0f9c/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/00c26deabe0cda509e37e71498fdb4f2a97e0f9c/ui/accessibility/ax_enums.idl
[modify] https://crrev.com/00c26deabe0cda509e37e71498fdb4f2a97e0f9c/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/00c26deabe0cda509e37e71498fdb4f2a97e0f9c/ui/accessibility/platform/ax_platform_node_win_unittest.cc
[modify] https://crrev.com/00c26deabe0cda509e37e71498fdb4f2a97e0f9c/ui/accessibility/platform/test_ax_node_wrapper.cc

Status: Fixed (was: Assigned)
Please verify!
Hello, I tested this on chrome 65 with JAWS 18 and I still see the same issue. 
Hi, is there any update on this?
Cc: dmazz...@chromium.org
Owner: aleventhal@chromium.org
Status: Started (was: Fixed)
I can verify that this is still not working as expected. The attached file scroll.html is a very simple way to repro. The combination of overflow-y: hidden and height: 100px cause the issue.
Interestingly, making the paragraphs focusable with <p tabindex="0"> makes the problem go away.
scroll.html
99 bytes View Download
LayoutBox::CanBeScrolledAndHasScrollableArea() is returning false for the 
<div overflow-y:hidden; height: 100px> because it calls CanBeProgramaticallyScrolled() which returns false.

However, it can be programmatically scrolled. 
Returning true for this <div> fixes the bug.
Project Member

Comment 18 by bugdroid1@chromium.org, Aug 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/10fa518e77bdf7ff2df3a77cae0cf10fc6679348

commit 10fa518e77bdf7ff2df3a77cae0cf10fc6679348
Author: Aaron Leventhal <aleventhal@chromium.org>
Date: Wed Aug 22 16:06:40 2018

Consider all non-visible overflow as programatically scrollable for an AT

Accessibility must consider any kind of non-visible overflow as
programatically scrollable, so that the bounds of scrolled objects
in these containers correct for the scroll offsets.

This fixes a scrolling issue where screen readers were not scrolling
to the content they were reading, as they were getting incorrect bounds.
The content in question was using hidden overflow, which can be
programatically scrolled.

Bug:  646117 
Change-Id: Ie083d7544b0e6dd2bdb7c5b8c1d41fc7c2377daf
Reviewed-on: https://chromium-review.googlesource.com/1178321
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585028}
[modify] https://crrev.com/10fa518e77bdf7ff2df3a77cae0cf10fc6679348/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
[add] https://crrev.com/10fa518e77bdf7ff2df3a77cae0cf10fc6679348/content/test/data/accessibility/html/scrollable-overflow-expected-blink.txt
[add] https://crrev.com/10fa518e77bdf7ff2df3a77cae0cf10fc6679348/content/test/data/accessibility/html/scrollable-overflow.html
[add] https://crrev.com/10fa518e77bdf7ff2df3a77cae0cf10fc6679348/content/test/data/accessibility/html/scrollable-textarea-expected-blink.txt
[add] https://crrev.com/10fa518e77bdf7ff2df3a77cae0cf10fc6679348/content/test/data/accessibility/html/scrollable-textarea.html
[modify] https://crrev.com/10fa518e77bdf7ff2df3a77cae0cf10fc6679348/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc

Status: Fixed (was: Started)
Hello,

Which version this is fixed in?

Comment 21 by vijay.ka...@pearson.com, Jan 18 (5 days ago)

Hi, Which version of chromium this is fixed in?

Sign in to add a comment