Issue metadata
Sign in to add a comment
|
a11y Windows: live region changes repeated or spoken at inappropriate times |
||||||||||||||||||||||||
Issue descriptionChrome 64.0.3246.2 (Official Build) canary (64-bit) (cohort: Clang-64). Windows 10 Enterprise Version 1607 Build 14393.1770 NVDA 2017.3 JAWS 2018.1710.36 NVDA reads things three times after pressing space to invoke the button in these live regions. # Load these two sample websites, attached, showing live regions in both assertive and polite configurations. # Start JAWS or NVDA depending on the tests. # Navigate to buttons, check verbalizations and the status indicated on the page below the buttons. # Press space bar to invoke the button # Check verbalizations and the status indicated on the page below the buttons. Results reported in a table, attached here: CRBug778478Results.html Expected: "When live regions are marked as polite, assistive technologies should announce updates at the next graceful opportunity, such as at the end of speaking the current sentence or when the user pauses typing. When live regions are marked as assertive, assistive technologies should notify the user immediately. Because an interruption may disorient users or cause them to not complete their current task, authors should not use the assertive value unless the interruption is imperative."
,
Nov 5 2017
,
Nov 5 2017
Even clicking or hovering over a live region causes the LIVE_REGION_CHANGED to be fired, and the screen reader to speak. This is because the event type is not provided in the call to AXTree::Unserialize(), which is called from BrowserAccessibilityManager::OnAccessibilityEvents(). When AXEventGenerator::OnAtomicUpdateFinished() is finally called from Unserialize(), it sees any batch of events like any other. So whether it's a click or an actual change, the LIVE_REGION_CHANGED event is called.
,
Nov 5 2017
,
Nov 6 2017
,
Nov 6 2017
Think about: for text inserted/removed on a static text, only fire them if in an editable area. Or, perhaps change the way we compute old/new text.
,
Dec 14 2017
,
Dec 15 2017
,
Dec 15 2017
,
Dec 15 2017
I believe this was fixed by crbug.com/785347 - can you test again? In particular the part where the live regions were speaking when clicking or hovering should be fixed. If there are remaining issues, maybe open a new bug - possibly lower priority?
,
Dec 15 2017
Chrome 65.0.3295.0 (Official Build) canary (64-bit) NVDA 2017.4 Original repro steps still result in NVDA announcing data three times: """ Button was pressed: button-1 1 1 Button was pressed: button-2 2 2 """
,
Jul 11
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0d103e4761986c5f14e7b904ddf0b143fb1b6799 commit 0d103e4761986c5f14e7b904ddf0b143fb1b6799 Author: Aaron Leventhal <aleventhal@chromium.org> Date: Wed Jul 11 23:45:09 2018 No removed or inserted text events on static text nodes Fire only 1 set of text removed/inserted events, only on the parent hypertext (not on the static text). This helps avoid redundant live region change announcements. Bug: 778478 Change-Id: Ic68aab54d46c98576169ecb2146cd6414413e6ac Reviewed-on: https://chromium-review.googlesource.com/1134199 Commit-Queue: Aaron Leventhal <aleventhal@chromium.org> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Cr-Commit-Position: refs/heads/master@{#574410} [modify] https://crrev.com/0d103e4761986c5f14e7b904ddf0b143fb1b6799/content/test/data/accessibility/event/live-region-change-expected-win.txt [modify] https://crrev.com/0d103e4761986c5f14e7b904ddf0b143fb1b6799/content/test/data/accessibility/event/text-changed-expected-win.txt [modify] https://crrev.com/0d103e4761986c5f14e7b904ddf0b143fb1b6799/ui/accessibility/platform/ax_platform_node_win.cc
,
Jul 12
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a32928f26183dce010284f0abcee28508e44a6f8 commit a32928f26183dce010284f0abcee28508e44a6f8 Author: Aaron Leventhal <aleventhal@chromium.org> Date: Thu Jul 12 13:04:40 2018 Avoid incomplete live region text change announcements When a live region change occurs we sometimes fire text change events for only part of the text. For example, if "car" changes to "cat", we fire an event that makes it look like only the "t" changed. This changes the heuristic so that when a live region occurs that is not in an editor, it will prefer to indicate that entire text nodes have changed. Bug: 778478 Change-Id: If87f1ac8c9c0b237bd422e8b7217d8d0347a13ab Reviewed-on: https://chromium-review.googlesource.com/1134201 Commit-Queue: Aaron Leventhal <aleventhal@chromium.org> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Cr-Commit-Position: refs/heads/master@{#574545} [modify] https://crrev.com/a32928f26183dce010284f0abcee28508e44a6f8/content/test/data/accessibility/event/description-change-indirect-expected-win.txt [modify] https://crrev.com/a32928f26183dce010284f0abcee28508e44a6f8/content/test/data/accessibility/event/name-change-indirect-expected-win.txt [modify] https://crrev.com/a32928f26183dce010284f0abcee28508e44a6f8/content/test/data/accessibility/event/text-changed-expected-win.txt [modify] https://crrev.com/a32928f26183dce010284f0abcee28508e44a6f8/ui/accessibility/platform/ax_platform_node_win.cc [modify] https://crrev.com/a32928f26183dce010284f0abcee28508e44a6f8/ui/accessibility/platform/ax_platform_node_win.h
,
Jul 13
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c commit 7b9a34fe818b75df53e0839fe9613ac7f0bccd0c Author: Aaron Leventhal <aleventhal@chromium.org> Date: Fri Jul 13 10:14:48 2018 Repeated live region announcements on Windows NVDA is announcing live region text changes multiple times. Only fire one type of live region event at a time. - Name from attribute change (e.g. from alt, aria-label, aria-labelledby, etc.): fire only a name change event. - Text contents change: fire only text removed/inserted events. Bug: 778478 Change-Id: I7dd17217826fe2ba18bd2c921839bcf19f7d63cf Reviewed-on: https://chromium-review.googlesource.com/1134021 Commit-Queue: Aaron Leventhal <aleventhal@chromium.org> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Cr-Commit-Position: refs/heads/master@{#574875} [modify] https://crrev.com/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c/content/browser/accessibility/browser_accessibility_com_win.cc [modify] https://crrev.com/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c/content/browser/accessibility/browser_accessibility_manager_win.cc [modify] https://crrev.com/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c/content/test/data/accessibility/event/description-change-indirect-expected-win.txt [modify] https://crrev.com/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c/content/test/data/accessibility/event/live-region-add-expected-win.txt [modify] https://crrev.com/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c/content/test/data/accessibility/event/live-region-change-expected-win.txt [add] https://crrev.com/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c/content/test/data/accessibility/event/live-region-change-innerhtml-expected-mac.txt [add] https://crrev.com/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c/content/test/data/accessibility/event/live-region-change-innerhtml-expected-win.txt [add] https://crrev.com/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c/content/test/data/accessibility/event/live-region-change-innerhtml.html [add] https://crrev.com/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c/content/test/data/accessibility/event/live-region-change-innertext-expected-mac.txt [add] https://crrev.com/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c/content/test/data/accessibility/event/live-region-change-innertext-expected-win.txt [add] https://crrev.com/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c/content/test/data/accessibility/event/live-region-change-innertext.html [modify] https://crrev.com/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c/content/test/data/accessibility/event/name-change-indirect-expected-win.txt [modify] https://crrev.com/7b9a34fe818b75df53e0839fe9613ac7f0bccd0c/content/test/data/accessibility/event/text-changed-expected-win.txt
,
Jul 13
We now fire 1 live region event for each change, and NVDA/JAWS will only speak the live region once. There were up to 4 per events fired before. In addition, we make sure to fire it with the complete text of the node now (e.g. if "car" changes to "cat" we fire it with the whole word, not just the "t" that changed). |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by leberly@chromium.org
, Oct 26 2017