Issue metadata
Sign in to add a comment
|
A11Y: Blocking issue when "refresh page" alert dialog is dismissed causing users to lose entered data |
||||||||||||||||||||||
Issue descriptionOS Name: Microsoft Windows 10 Enterprise Version: 10.0.14393 Build 14393 Browsers: Chrome Canary: 64.0.3273.3 (Official Build) canary (64-bit) (cohort: Clang-64) Chrome stable: 62.0.3202.94 (Official Build) (64-bit) (cohort: Stable) Firefox: 52.4.1 (64-bit) Screen readers: NVDA: Version 2017.3 JAWS Professional: Version 2018 (build 1710.42 ILM) Steps to repro: Chrome canary and ChromeStable with both JAWS and NVDA # With NVDA running: navigate to: https://bugs.chromium.org/p/chromium/issues/detail?id=787051 # Type a comment in the comment box, but do NOT submit it # Press ctrl+r to reload the page # Press 'don't reload' button # Try to navigate with arrows, tab, f6, minimizing, maximizing, switching away and back to Chrome # Notice that you cannot interact with the page normally Expected: Pressing 'don't reload' button returns focus to the previously focused control Actual: Focus never returns to the page. Steps to repro in Firefox: # With NVDA running: navigate to: https://bugs.chromium.org/p/chromium/issues/detail?id=787051 # Type a comment in the comment box, but do NOT submit it # Press ctrl+r to reload the page # Press 'stay on page' button # Notice that your focus is returned to where it was when the dialog opened Expected: Works as expected
,
Dec 4 2017
I know what's going on here, I'll fix it.
,
Dec 5 2017
Patch out for review: https://chromium-review.googlesource.com/c/chromium/src/+/809491 The fix was easy, the test was hard.
,
Dec 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3c7007aeee6100a182259afa33fa32340e27213b commit 3c7007aeee6100a182259afa33fa32340e27213b Author: Dominic Mazzoni <dmazzoni@chromium.org> Date: Tue Dec 12 07:34:05 2017 Fix accessibility when user cancels reloading the page. In Windows accessibility code we had a special case that suppressed accessibility events after a page is being navigated away from, to prevent overlapping events from the old page and new page. This caused a major problem if you cancel the beforeunload dialog, because BrowserAccessibilityManager still thought the page was being reloaded. The key fix is for WebContentsImpl to notify BrowserAccessibilityManager on DidStopLoading, since that's called when canceling a reload. In other cases when it's called, it will be harmless as BrowserAccessibilityManager will already be in the right state. The rest of the changes are some refactoring to make it possible to simulate canceling the beforeunload dialog in a test. Bug: 787126 Change-Id: I6356d827223aac559778fa96d9a7198916fe10f9 Reviewed-on: https://chromium-review.googlesource.com/809491 Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org> Reviewed-by: Nasko Oskov <nasko@chromium.org> Reviewed-by: Nektarios Paisios <nektar@chromium.org> Cr-Commit-Position: refs/heads/master@{#523365} [modify] https://crrev.com/3c7007aeee6100a182259afa33fa32340e27213b/content/browser/accessibility/accessibility_event_recorder.cc [modify] https://crrev.com/3c7007aeee6100a182259afa33fa32340e27213b/content/browser/accessibility/accessibility_event_recorder.h [modify] https://crrev.com/3c7007aeee6100a182259afa33fa32340e27213b/content/browser/accessibility/accessibility_win_browsertest.cc [modify] https://crrev.com/3c7007aeee6100a182259afa33fa32340e27213b/content/browser/accessibility/browser_accessibility_manager.cc [modify] https://crrev.com/3c7007aeee6100a182259afa33fa32340e27213b/content/browser/accessibility/browser_accessibility_manager.h [modify] https://crrev.com/3c7007aeee6100a182259afa33fa32340e27213b/content/browser/frame_host/frame_tree_node.cc [modify] https://crrev.com/3c7007aeee6100a182259afa33fa32340e27213b/content/browser/web_contents/web_contents_impl_browsertest.cc [modify] https://crrev.com/3c7007aeee6100a182259afa33fa32340e27213b/content/shell/browser/shell_javascript_dialog_manager.cc [modify] https://crrev.com/3c7007aeee6100a182259afa33fa32340e27213b/content/shell/browser/shell_javascript_dialog_manager.h [modify] https://crrev.com/3c7007aeee6100a182259afa33fa32340e27213b/content/test/content_browser_test_utils_internal.cc [modify] https://crrev.com/3c7007aeee6100a182259afa33fa32340e27213b/content/test/content_browser_test_utils_internal.h [modify] https://crrev.com/3c7007aeee6100a182259afa33fa32340e27213b/tools/accessibility/inspect/ax_event_server.cc
,
Dec 12 2017
,
Jan 11 2018
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by dsexton@chromium.org
, Dec 1 2017Owner: nek...@chromium.org
Status: Assigned (was: Available)