Issue metadata
Sign in to add a comment
|
Chrome Downloads page tab ordering prematurely wrapping after three headings |
||||||||||||||||||||||
Issue descriptionGoogle Chrome 65.0.3322.3 (Official Build) dev (64-bit) (cohort: Dev) Windows 10 Enterprise Version 1709 Build 16299.125 Steps to repro: # Launch the newest version of Chrome you have installed that has downloads going back older than a month. I'm unable to test in Canary since I don't have a history of downloads going back before today so I tested in Dev. # Go to chrome://downloads and observe that there are downloads dating back several months. Navigate back to the top of the page, I simply reloaded. # Press tab multiple times to jump from date to date. Note the order. Expected: The tab order will go to the date headings in order, that is, going backwards in time from Today to Yesterday to January 2018 to December 2017, etc. Actual: The tab order will move to Today, Yesterday, and January 18th, 2018 before wrapping back to Today. # Use the arrow keys or tabs to put the focus on an older part of the page further down such as October of last year. Expected: The tab order will continue backwards from the October date headings until the end of the page. Actual: The tab order will cycle through three dates before wrapping back to the top of the page. Note that this is not jut an accessibility issue since I can replicate with no assistive tech. However, it also affects screen reader users. For example, due to this tab ordering error, when navigating through the page by heading, the heading navigation wraps to the top of the page after just 2 headings. Tested with JAWS 2018.1801.18 Private Beta.
,
Jan 25 2018
,
Jan 25 2018
I am unable to bisect because I can't have several days of downloads in a bisecting instance of Chrome. If there is a way to fake this to populate the UI, please let me know and I will gladly bisect. I suspect that it will repro on Chrome 55 given that other bugs I've recently found on this page go back that far.
,
Jan 25 2018
References for suspicion that this is not a regression due to it being in the UI for a long time: Both of these bugs share the same UI as this bug and both of these bugs can repro on 55. 805284 805781
,
Jan 25 2018
+ folks on the a11y team for review
,
Jan 25 2018
,
Jan 25 2018
,
Jan 30 2018
leberly@: just generate a profile with a bunch of fake downloads (feel free to visit http://danbeam.org/hacks/randomdl.php to generate a lot, maybe in a loop) and then pass that path to the bisect script $ bisect_builds.py <flags> -- --user-data-dir=/the/same/dir/every/time/chrome/starts
,
Apr 11 2018
This page appears to use an infinite scroll which is not compatible with screen readers. Screen reader users are able to read all information presently in the dom and only if focus moves where the scroll action happens will the dom be updated for these users. After scrolling down through more than 10 downloads, pressing ctrl+home moves focus to the top of the page, but the scroll element is still scrolled to the last page of downloads. Thus pressing tab until you reach the file list will not focus on the most recent download, but the top most in the last scrolled to items. Consider replacing infinit scroll with a 'view more' button
,
Apr 11 2018
+hcarmona The infinite scrolling is implemented with the <iron-list> element, and it is used extensively throughout WebUI pages (history, downloads, settings). IIUC, it was made fairly accessible, especially for the cases within chrome://settings. Not handling ctrl+home sounds like a bug that can be fixed, although the fix might belong in iron-list code itself, at https://github.com/PolymerElements/iron-list.
,
Apr 11 2018
Read more about the problems with infinite scroll and screen readers here: https://www.levelaccess.com/infinite-scrolling-impact-on-assistive-technologies-series-1/ Doing a websearch for 'infinite scroll screen reader' returns several articles with even more evidence that this type of control is problematic at best.
,
Apr 11 2018
There is a difference between the chrome://history page and the list in chrome://downloads. In history: Tab to history list, use down arrow to navigate Tab to action button(s) for that item. In chrome://downloads: Each download is accessed via tab key including the action buttons Arrow keys don't work here. Home and end as well as first letter navigation don't work on both pages.
,
Apr 12 2018
,
May 2 2018
,
May 2 2018
,
May 23 2018
,
Aug 7
,
Aug 21
This still reproduces with Chrome OS: Google Chrome 69.0.3497.35 (Official Build) dev (64-bit) Firmware Version Google_Lulu.6301.136.57 You can tab through 3 downloads in the list, then the focus jumps up to the Omnibox, then when you keep tabbing it goes to the next three items in the list, etc.
,
Aug 21
,
Sep 14
,
Sep 14
,
Sep 18
,
Sep 25
,
Sep 25
,
Oct 4
Re #18: As said earlier in this bug (see #10) this happens because by the time "tab" is pressed there are no other download items rendered in the DOM. @leberly: Can you clarify what do you think the correct behavior is? Is your original expectation affected by what #12 says at all? Should this work more like History?
,
Jan 7
Issue 870070 has been merged into this issue.
,
Jan 10
,
Jan 11
I have a proposed change that will allow using the arrow keys to move between the download entries. Using tab move focus within the download entry until the last component within the download entry has focus. After that, tab will move focus out of the download entry list. I'm try to figure out how this will work with screenreaders. I'm currently testing with VoiceOver on mac. When VoiceOver is on, it will take control of the focus and ignore the iron-list arrow key handler. It then traverses the items in the order they appear in the dom, which is not the order that they necessarily appear in the list. And when the last or first item in the dom is reached, the screenreader looks like it gets stuck when there are actually more items in the list.
,
Jan 11
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/10fca8c98946635c38ac6da071b9e764c970a3ca commit 10fca8c98946635c38ac6da071b9e764c970a3ca Author: Esmael El-Moslimany <aee@chromium.org> Date: Fri Jan 11 04:03:31 2019 Download WebUI: use FocusRowBehavior on download entries to change focus with arrows Bug: 805779 Change-Id: Iea802f0eb8f2b9e92a38636fc1ff500af20b96b7 Reviewed-on: https://chromium-review.googlesource.com/c/1404487 Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org> Commit-Queue: Esmael El-Moslimany <aee@chromium.org> Cr-Commit-Position: refs/heads/master@{#621900} [modify] https://crrev.com/10fca8c98946635c38ac6da071b9e764c970a3ca/chrome/browser/resources/md_downloads/BUILD.gn [modify] https://crrev.com/10fca8c98946635c38ac6da071b9e764c970a3ca/chrome/browser/resources/md_downloads/item.html [modify] https://crrev.com/10fca8c98946635c38ac6da071b9e764c970a3ca/chrome/browser/resources/md_downloads/item.js [modify] https://crrev.com/10fca8c98946635c38ac6da071b9e764c970a3ca/chrome/browser/resources/md_downloads/manager.html [modify] https://crrev.com/10fca8c98946635c38ac6da071b9e764c970a3ca/chrome/browser/resources/md_downloads/manager.js
,
Jan 11
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/916cb201f2505e465f52d4044d7ca914a0b2b514 commit 916cb201f2505e465f52d4044d7ca914a0b2b514 Author: Esmael El-Moslimany <aee@chromium.org> Date: Fri Jan 11 04:09:33 2019 Downloads WebUI: make raised card white bg in light-mode Bug: 805779 Change-Id: I09c1128665780c6040a36dc4d6caddbc946d6141 Reviewed-on: https://chromium-review.googlesource.com/c/1406300 Commit-Queue: Esmael El-Moslimany <aee@chromium.org> Reviewed-by: Dan Beam <dbeam@chromium.org> Cr-Commit-Position: refs/heads/master@{#621901} [modify] https://crrev.com/916cb201f2505e465f52d4044d7ca914a0b2b514/chrome/browser/resources/md_downloads/item.html
,
Jan 11
Screenreaders that depend on the DOM for focus and hijack the arrow keys do not work well with iron-list and FocusRowBehavior.
,
Jan 11
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by leberly@chromium.org
, Jan 25 2018