Issue metadata
Sign in to add a comment
|
[A11y - Dialog] On ‘tab modal’ dialogs, NVDA+T and NVDA+B read the parent tab (Topchrome UIs and page), not the dialog itself |
||||||||||||||||||||||||
Issue descriptionChrome Version : Stable 61.0.3163.100 OS Version : Win10 Screenreader : NVDA The issue occurs on tab modals not on window modals (e.g. Add to desktop dialog is read correctly with NVDA+T and NVDA+B). Repro the issue from the following tab modals: - Resubmit form - HTTP Auth - JS Alert - Sign in - Print - Add extension (via a page, not webstore) Video* (tab modal - issue): https://drive.google.com/open?id=0B1VXa3kr2lYjMnZ1d25HVG1yRTQ Video* (window modal - not issue): https://drive.google.com/open?id=0B1VXa3kr2lYjOGR6dzV3WDZSU0E Full doc*: go/ar-dialogs-win-2017 *: Docs and videos are google internal Recommended fixes: - SR reading scope to be ‘dialog’, not parent page - NVDA+T to read the dialog title - NVDA+B to read the entire foreground dialog Related notes: - If an implementation to fix this bug covers all other dialogs in the same type, it will be ideal. - If it's a spot fix for a listed dialog, we can still use the fix as a reference for future fixes for others. - Please discuss if the issue needs to be clarified further, and/or if there's an alternative fix. - Independently, expanded tests are needed for 1) Harmony flag enabled, 2) Win10+JAWS, 3) CrOS+ChromeVox, and 4) OSX+VO, and also modification of this bug is needed if the same issue occurs on 1)-4). Thanks!
,
Oct 17 2017
,
Oct 17 2017
,
Oct 18 2017
Harmony (chrome://flags/#secondary-ui-md) has the same issue. Tested on Canary 64.0.3243.1, Win10, NVDA
,
Oct 30 2017
,
Dec 14 2017
,
Dec 15 2017
,
Feb 7 2018
Looks like window hierarchy is disconnected in the parent to child direction. A similar issue to one in the past where parent / child nodes were not properly connected when crossing dialog window boundaries.
,
Feb 16 2018
If the window hierarchy is disconnected, nothing would read at all. So it's not completely disconnected.
,
Feb 16 2018
We need to ping NV Access again to better understand what these keys are doing.
,
Feb 16 2018
,
Mar 17 2018
Per discussion with Nektarios, I am assigning this to Aaron. Aaron, please see this internal doc: https://docs.google.com/document/d/1lYhvm4i37j54jO7Wh72_lz0KLcGC6keD-4pwMFT7Ri8/edit?usp=sharing
,
Aug 17
Issue 850345 has been merged into this issue.
,
Aug 22
,
Aug 28
Issue 865221 has been merged into this issue.
,
Aug 30
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a6f6697e14bc8f86746d7dbdbddd52ee743dc838 commit a6f6697e14bc8f86746d7dbdbddd52ee743dc838 Author: James Wallace-Lee <jamwalla@chromium.org> Date: Thu Aug 30 01:27:38 2018 Tab modal dialog title should be accessible window title Tab modal dialogs (ui::MODAL_TYPE_CHILD) should report their title to AT (insert+T on JAWS and NVDA) when active. To accomplish this, BrowserView::GetAccessibleWindowTitle should report the title of the dialog when one is active. Bug: 775680 Test: browser_tests.exe --gtest_filter=BrowserViewTest.GetAccessibleTabModalDialogTitle Change-Id: Ie693e1627c87e4d97eede64381d80dab31635642 Reviewed-on: https://chromium-review.googlesource.com/1184039 Commit-Queue: James Wallace-Lee <jamwalla@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Cr-Commit-Position: refs/heads/master@{#587371} [modify] https://crrev.com/a6f6697e14bc8f86746d7dbdbddd52ee743dc838/chrome/browser/ui/views/frame/browser_view.cc [modify] https://crrev.com/a6f6697e14bc8f86746d7dbdbddd52ee743dc838/chrome/browser/ui/views/frame/browser_view_browsertest.cc
,
Aug 30
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f82f307fdb2baf1727ec0fe2a7e6bec30d227b6c commit f82f307fdb2baf1727ec0fe2a7e6bec30d227b6c Author: Ned Nguyen <nednguyen@google.com> Date: Thu Aug 30 17:55:21 2018 Revert "Tab modal dialog title should be accessible window title" This reverts commit a6f6697e14bc8f86746d7dbdbddd52ee743dc838. Reason for revert: suspect breaking BrowserViewTest.GetAccessibleTabModalDialogTitle BUG:879253 Original change's description: > Tab modal dialog title should be accessible window title > > Tab modal dialogs (ui::MODAL_TYPE_CHILD) should report their title > to AT (insert+T on JAWS and NVDA) when active. To accomplish this, > BrowserView::GetAccessibleWindowTitle should report the title of > the dialog when one is active. > > Bug: 775680 > Test: browser_tests.exe --gtest_filter=BrowserViewTest.GetAccessibleTabModalDialogTitle > Change-Id: Ie693e1627c87e4d97eede64381d80dab31635642 > Reviewed-on: https://chromium-review.googlesource.com/1184039 > Commit-Queue: James Wallace-Lee <jamwalla@chromium.org> > Reviewed-by: Scott Violet <sky@chromium.org> > Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#587371} TBR=avi@chromium.org,dmazzoni@chromium.org,sky@chromium.org,jamwalla@chromium.org Change-Id: I92d90e704a80de07a85cc223fbe13e55fc763a71 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 775680 Reviewed-on: https://chromium-review.googlesource.com/1197327 Reviewed-by: Ned Nguyen <nednguyen@google.com> Commit-Queue: Ned Nguyen <nednguyen@google.com> Cr-Commit-Position: refs/heads/master@{#587652} [modify] https://crrev.com/f82f307fdb2baf1727ec0fe2a7e6bec30d227b6c/chrome/browser/ui/views/frame/browser_view.cc [modify] https://crrev.com/f82f307fdb2baf1727ec0fe2a7e6bec30d227b6c/chrome/browser/ui/views/frame/browser_view_browsertest.cc
,
Aug 30
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7fca17c1c1eb2cfa1a8a9003fe6cd2545fa34993 commit 7fca17c1c1eb2cfa1a8a9003fe6cd2545fa34993 Author: James Wallace-Lee <jamwalla@chromium.org> Date: Thu Aug 30 23:39:40 2018 Reland "Tab modal dialog title should be accessible window title" This is a reland of a6f6697e14bc8f86746d7dbdbddd52ee743dc838 The test, GetAccessibleTabModalDialogTitle, failed on OSX because tab-modal dialogs are treated as native windows in Voiceover. This fix is unnecessary on OSX so the test is now disabled there. Original change's description: > Tab modal dialog title should be accessible window title > > Tab modal dialogs (ui::MODAL_TYPE_CHILD) should report their title > to AT (insert+T on JAWS and NVDA) when active. To accomplish this, > BrowserView::GetAccessibleWindowTitle should report the title of > the dialog when one is active. > > Bug: 775680 > Test: browser_tests.exe --gtest_filter=BrowserViewTest.GetAccessibleTabModalDialogTitle > Change-Id: Ie693e1627c87e4d97eede64381d80dab31635642 > Reviewed-on: https://chromium-review.googlesource.com/1184039 > Commit-Queue: James Wallace-Lee <jamwalla@chromium.org> > Reviewed-by: Scott Violet <sky@chromium.org> > Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#587371} Bug: 775680 , 879074 , 879253 Change-Id: I4351a6487a4cb582383fe18b97e825a986464f59 Reviewed-on: https://chromium-review.googlesource.com/1197333 Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: James Wallace-Lee <jamwalla@chromium.org> Cr-Commit-Position: refs/heads/master@{#587845} [modify] https://crrev.com/7fca17c1c1eb2cfa1a8a9003fe6cd2545fa34993/chrome/browser/ui/views/frame/browser_view.cc [modify] https://crrev.com/7fca17c1c1eb2cfa1a8a9003fe6cd2545fa34993/chrome/browser/ui/views/frame/browser_view_browsertest.cc
,
Aug 31
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9ce4948885ea3718cb2e8d150da06deb9911deef commit 9ce4948885ea3718cb2e8d150da06deb9911deef Author: James Wallace-Lee <jamwalla@chromium.org> Date: Fri Aug 31 20:15:12 2018 a11y: hide the rest of the browser when a tab-modal dialog is present When a tab-modal dialog is shown, the page underneath it is inert. But NVDA reads the page underneath the dialog when users press Insert+B to read the whole dialog. To fix this, we hide the rest of the browser from the accessibility tree when a tab-modal dialog is visible by modifying AXPlatformNodeDelegate::PopulateChildWidgetVector to return only the dialog. Bug: 775680 Change-Id: I2a5ec2eeef5ffe50ebd8819836c89ae73ddfdd36 Reviewed-on: https://chromium-review.googlesource.com/1189054 Commit-Queue: James Wallace-Lee <jamwalla@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Cr-Commit-Position: refs/heads/master@{#588142} [modify] https://crrev.com/9ce4948885ea3718cb2e8d150da06deb9911deef/chrome/browser/ui/views/frame/browser_view_browsertest.cc [modify] https://crrev.com/9ce4948885ea3718cb2e8d150da06deb9911deef/ui/accessibility/BUILD.gn [add] https://crrev.com/9ce4948885ea3718cb2e8d150da06deb9911deef/ui/accessibility/platform/ax_platform_node_test_helper.cc [add] https://crrev.com/9ce4948885ea3718cb2e8d150da06deb9911deef/ui/accessibility/platform/ax_platform_node_test_helper.h [modify] https://crrev.com/9ce4948885ea3718cb2e8d150da06deb9911deef/ui/views/accessibility/view_ax_platform_node_delegate.cc [modify] https://crrev.com/9ce4948885ea3718cb2e8d150da06deb9911deef/ui/views/accessibility/view_ax_platform_node_delegate.h
,
Aug 31
+a11y-testers - the two changes above should fix a lot of tab-modal dialogs with NVDA. A partial list is below, I don't know if we need to test each one, but please let me know if anything else can be improved more. Thanks! tab-modal dialogs list: - Resubmit form - HTTP Auth - JS Alert - Sign in - Credit card CVC confirmation - Cookies (security chip > cookies) - share your screen - create shortcut - Add extension (via a page, not webstore) Work needed in other bugs: - Print (see issue 868179) - Cast (see issue 856819 )
,
Sep 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/50446c40ca87a36dedc9536eda010629c56d6a6c commit 50446c40ca87a36dedc9536eda010629c56d6a6c Author: Jan Wilken Dörrie <jdoerrie@chromium.org> Date: Mon Sep 03 09:06:09 2018 Revert "a11y: hide the rest of the browser when a tab-modal dialog is present" This reverts commit 9ce4948885ea3718cb2e8d150da06deb9911deef. Reason for revert: Likely culprit of https://crbug.com/879995 . Original change's description: > a11y: hide the rest of the browser when a tab-modal dialog is present > > When a tab-modal dialog is shown, the page underneath it is inert. But > NVDA reads the page underneath the dialog when users press Insert+B to > read the whole dialog. To fix this, we hide the rest of the browser > from the accessibility tree when a tab-modal dialog is visible by > modifying AXPlatformNodeDelegate::PopulateChildWidgetVector to return > only the dialog. > > Bug: 775680 > Change-Id: I2a5ec2eeef5ffe50ebd8819836c89ae73ddfdd36 > Reviewed-on: https://chromium-review.googlesource.com/1189054 > Commit-Queue: James Wallace-Lee <jamwalla@chromium.org> > Reviewed-by: Scott Violet <sky@chromium.org> > Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#588142} TBR=dmazzoni@chromium.org,sky@chromium.org,jamwalla@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 775680 Change-Id: I44b9322799880ee613a6380f8ead0c3d86e21549 Reviewed-on: https://chromium-review.googlesource.com/1201824 Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org> Cr-Commit-Position: refs/heads/master@{#588357} [modify] https://crrev.com/50446c40ca87a36dedc9536eda010629c56d6a6c/chrome/browser/ui/views/frame/browser_view_browsertest.cc [modify] https://crrev.com/50446c40ca87a36dedc9536eda010629c56d6a6c/ui/accessibility/BUILD.gn [delete] https://crrev.com/c52a018e2b83e04de2a89721f954f8c03e369877/ui/accessibility/platform/ax_platform_node_test_helper.cc [delete] https://crrev.com/c52a018e2b83e04de2a89721f954f8c03e369877/ui/accessibility/platform/ax_platform_node_test_helper.h [modify] https://crrev.com/50446c40ca87a36dedc9536eda010629c56d6a6c/ui/views/accessibility/view_ax_platform_node_delegate.cc [modify] https://crrev.com/50446c40ca87a36dedc9536eda010629c56d6a6c/ui/views/accessibility/view_ax_platform_node_delegate.h
,
Sep 5
,
Sep 5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4829f738bb1b9028c0f325966e0143316bf8596d commit 4829f738bb1b9028c0f325966e0143316bf8596d Author: James Wallace-Lee <jamwalla@chromium.org> Date: Tue Sep 04 22:34:04 2018 Reland "a11y: hide the rest of the browser when a tab-modal dialog is present" This is a reland of 9ce4948885ea3718cb2e8d150da06deb9911deef The test, GetAccessibleTabModalDialogTree, failed on OSX because tab-modal dialogs are treated as native windows in Voiceover. This fix is unnecessary on OSX so the test is now disabled there. (See also crrev.com/c/1197333) Original change's description: > a11y: hide the rest of the browser when a tab-modal dialog is present > > When a tab-modal dialog is shown, the page underneath it is inert. But > NVDA reads the page underneath the dialog when users press Insert+B to > read the whole dialog. To fix this, we hide the rest of the browser > from the accessibility tree when a tab-modal dialog is visible by > modifying AXPlatformNodeDelegate::PopulateChildWidgetVector to return > only the dialog. > > Bug: 775680 > Change-Id: I2a5ec2eeef5ffe50ebd8819836c89ae73ddfdd36 > Reviewed-on: https://chromium-review.googlesource.com/1189054 > Commit-Queue: James Wallace-Lee <jamwalla@chromium.org> > Reviewed-by: Scott Violet <sky@chromium.org> > Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#588142} Bug: 775680 , 879995 Change-Id: Ie9d49eb5e67655e98ab220c8fc78e56aaf346cd0 Reviewed-on: https://chromium-review.googlesource.com/1204710 Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: James Wallace-Lee <jamwalla@chromium.org> Cr-Commit-Position: refs/heads/master@{#588671} [modify] https://crrev.com/4829f738bb1b9028c0f325966e0143316bf8596d/chrome/browser/ui/views/frame/browser_view_browsertest.cc [modify] https://crrev.com/4829f738bb1b9028c0f325966e0143316bf8596d/ui/accessibility/BUILD.gn [add] https://crrev.com/4829f738bb1b9028c0f325966e0143316bf8596d/ui/accessibility/platform/ax_platform_node_test_helper.cc [add] https://crrev.com/4829f738bb1b9028c0f325966e0143316bf8596d/ui/accessibility/platform/ax_platform_node_test_helper.h [modify] https://crrev.com/4829f738bb1b9028c0f325966e0143316bf8596d/ui/views/accessibility/view_ax_platform_node_delegate.cc [modify] https://crrev.com/4829f738bb1b9028c0f325966e0143316bf8596d/ui/views/accessibility/view_ax_platform_node_delegate.h
,
Sep 18
,
Sep 18
,
Sep 18
,
Oct 18
Chrome: 71.0.3573.0 (Official Build) dev (64-bit) (cohort: Dev) This appears to be fixed. I tested the listed dialogs.
,
Oct 18
Thanks David! |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by ligim...@chromium.org
, Oct 17 2017