New issue
Advanced search Search tips

Issue 919342 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 10
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug
Flaky-Test: ChromeVoxLiveRegionsTest.LiveRegionThenFocus



Sign in to add a comment

ChromeVoxLiveRegionsTest.LiveRegionThenFocus is flaky

Project Member Reported by Findit, Jan 6

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, Jan 7

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

commit de8cfddbee4a8c51151eeff943f43ac9e6d8a283
Author: Max Morin <maxmorin@chromium.org>
Date: Mon Jan 07 10:15:28 2019

Revert "Fix live region corner cases."

This reverts commit eb102ec750c40cde3eb2ab5a10d2cbf9b0e6f497.

Reason for revert: ChromeVoxLiveRegionsTest.LiveRegionThenFocus failing with timeout https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20ChromiumOS%20MSan%20Tests/10581


Original change's description:
> Fix live region corner cases.
>
> 1. live regions are processed by examining tree changes. As a result, they occur prior to all other events within an EventBundle. In practice, we actually want to defer live region output until the end of the event bundle. We can achieve this by scheduling the processing of all queued output for live regions after the current js event loop.
>
> 2. re-enable a test which was flaking and catches text selection + live region output interplay.
>
> The expectation is that:
> - text selections should always flush (if triggered by user)
> - live regions should always category flush (on live regions). In effect, they will queue up after text selection changes
> - live regions triggered in the same event loop Blink-side with text selections should always be outputted after the text selection even if the client page js triggers the live region first
>
> 3. handle a corner case when a page sets aria-live="off".
>
> An example can be found on Gmail's main search text field (hotkey '/').
>
> The <input> is marked up with aria-live="off". However, triggering text changes by typing causes the staticText child to be mutated and us to treat this as a live region.
>
> Ensure that live region code ignores all such output.
>
> Test: 1 and 2 are now covered by the re-enabled test. 3 is tested manually.
> Change-Id: I12bff6e91e267de80b596a4e62e2e3f9c6dfe879
> Reviewed-on: https://chromium-review.googlesource.com/c/1396324
> Commit-Queue: David Tseng <dtseng@chromium.org>
> Reviewed-by: Katie Dektar <katie@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#620205}

TBR=dtseng@chromium.org,katie@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  919342 
Change-Id: I9dd671ebcdaa99a0ae57081f323ab4b3d027d727
Reviewed-on: https://chromium-review.googlesource.com/c/1397621
Commit-Queue: Max Morin <maxmorin@chromium.org>
Reviewed-by: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620281}
[modify] https://crrev.com/de8cfddbee4a8c51151eeff943f43ac9e6d8a283/chrome/browser/resources/chromeos/chromevox/cvox2/background/background_test.extjs
[modify] https://crrev.com/de8cfddbee4a8c51151eeff943f43ac9e6d8a283/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing.js
[modify] https://crrev.com/de8cfddbee4a8c51151eeff943f43ac9e6d8a283/chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions.js
[modify] https://crrev.com/de8cfddbee4a8c51151eeff943f43ac9e6d8a283/chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions_test.extjs
[modify] https://crrev.com/de8cfddbee4a8c51151eeff943f43ac9e6d8a283/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js

Labels: -Sheriff-Chromium
Project Member

Comment 3 by bugdroid1@chromium.org, Jan 7

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

commit 440fa58ca59bcc658f2cc6c697e95cf654babdc4
Author: David Tseng <dtseng@chromium.org>
Date: Mon Jan 07 19:04:06 2019

Reland: Fix live region corner cases.

Made LiveRegion test more robust.

Bug:  919342 
TBR=dtseng@chromium.org

Original change:

1. live regions are processed by examining tree changes. As a result, they occur prior to all other events within an EventBundle. In practice, we actually want to defer live region output until the end of the event bundle. We can achieve this by scheduling the processing of all queued output for live regions after the current js event loop.

2. re-enable a test which was flaking and catches text selection + live region output interplay.

The expectation is that:
- text selections should always flush (if triggered by user)
- live regions should always category flush (on live regions). In effect, they will queue up after text selection changes
- live regions triggered in the same event loop Blink-side with text selections should always be outputted after the text selection even if the client page js triggers the live region first

3. handle a corner case when a page sets aria-live="off".

An example can be found on Gmail's main search text field (hotkey '/').

The <input> is marked up with aria-live="off". However, triggering text changes by typing causes the staticText child to be mutated and us to treat this as a live region.

Ensure that live region code ignores all such output.

Test: 1 and 2 are now covered by the re-enabled test. 3 is tested manually.
Change-Id: Ieab663f97fb9f962a0e6ba05d3093e688374ca91
Reviewed-on: https://chromium-review.googlesource.com/c/1398290
Commit-Queue: David Tseng <dtseng@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620403}
[modify] https://crrev.com/440fa58ca59bcc658f2cc6c697e95cf654babdc4/chrome/browser/resources/chromeos/chromevox/cvox2/background/background_test.extjs
[modify] https://crrev.com/440fa58ca59bcc658f2cc6c697e95cf654babdc4/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing.js
[modify] https://crrev.com/440fa58ca59bcc658f2cc6c697e95cf654babdc4/chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions.js
[modify] https://crrev.com/440fa58ca59bcc658f2cc6c697e95cf654babdc4/chrome/browser/resources/chromeos/chromevox/cvox2/background/live_regions_test.extjs
[modify] https://crrev.com/440fa58ca59bcc658f2cc6c697e95cf654babdc4/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js
[modify] https://crrev.com/440fa58ca59bcc658f2cc6c697e95cf654babdc4/chrome/browser/resources/chromeos/chromevox/testing/mock_feedback.js

Status: Fixed (was: Untriaged)

Sign in to add a comment