New issue
Advanced search Search tips

Issue 676451 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature
STS
Team-Accessibility

Blocking:
issue 593887



Sign in to add a comment

[Select-to-Speak] Ability to highlight words as they are read aloud

Project Member Reported by lpalmaro@chromium.org, Dec 21 2016

Issue description

It would be great if we could add an option in this feature to highlight the specific word being read aloud on the page. It would be ideal to include this before launch, if possible, but it's not totally critical right off the bat, so I'm not marking it as blocking the launch bug or setting a specific milestone. 
 
Blocking: 593887
Labels: NewComponent-Accessibility NewComponent-Accessibility-Features
Labels: -newcomponent-accessibility -newcomponent-accessibility-features
Labels: -Restrict-View-Google
Status: Available (was: Assigned)
Issue 713308 has been merged into this issue.
Cc: katydek@google.com
Labels: STS
Project Member

Comment 7 by bugdroid1@chromium.org, Oct 20 2017

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

commit ace590f90b9dbeb394bb495f6b6d47c6667c074f
Author: Katie Dektar <katydek@google.com>
Date: Fri Oct 20 00:07:16 2017

Per-word highlighting option in Select-to-Speak

Adds a setting to allow per-word highlighting instead
of node-based highlighting. This works well in nearly all
cases but there are two tts bugs identified and filed to the
tts team, one regarding lots of quotes, and the other with
phrases that start with a single letter word.

Removes empty nodes from paragraphs so that these will
not be highlighted at all.

Bug:  676451 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I2d08e0cd8ed786e894f65ecf5c664a784cf12f01
Reviewed-on: https://chromium-review.googlesource.com/724361
Commit-Queue: Katie Dektar <katydek@google.com>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510259}
[modify] https://crrev.com/ace590f90b9dbeb394bb495f6b6d47c6667c074f/chrome/browser/resources/chromeos/select_to_speak/options.html
[modify] https://crrev.com/ace590f90b9dbeb394bb495f6b6d47c6667c074f/chrome/browser/resources/chromeos/select_to_speak/paragraph_utils.js
[modify] https://crrev.com/ace590f90b9dbeb394bb495f6b6d47c6667c074f/chrome/browser/resources/chromeos/select_to_speak/paragraph_utils_unittest.gtestjs
[modify] https://crrev.com/ace590f90b9dbeb394bb495f6b6d47c6667c074f/chrome/browser/resources/chromeos/select_to_speak/select_to_speak.js
[modify] https://crrev.com/ace590f90b9dbeb394bb495f6b6d47c6667c074f/chrome/browser/resources/chromeos/select_to_speak/select_to_speak_options.js
[modify] https://crrev.com/ace590f90b9dbeb394bb495f6b6d47c6667c074f/chrome/browser/resources/chromeos/select_to_speak/select_to_speak_unittest.gtestjs
[modify] https://crrev.com/ace590f90b9dbeb394bb495f6b6d47c6667c074f/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings.grd

Feedback from teachers: In Select to Speak, we need multi-highlighting, basically the ability to draw a focus box around the full line, then highlight the word in a different color. That color/highlight differentiation is huge for processing, particularly for students. 

Comment 9 by katydek@google.com, Oct 31 2017

Cc: katie@chromium.org

Comment 10 by katydek@google.com, Oct 31 2017

Cc: -katydek@google.com
Cc: dmazz...@chromium.org
Owner: katie@chromium.org
Project Member

Comment 12 by bugdroid1@chromium.org, Nov 8 2017

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

commit c0ad2ffa390177a8e6edfbb241fe3cf17f39c94c
Author: Katie Dektar <katydek@google.com>
Date: Wed Nov 08 04:42:08 2017

Create a generic parent class for focus_ring_layer.

This will allow other types of accessibility layers to be drawn
that differ from the Focus Ring. Specifically, a highlight layer
is going to be added that depends on this new class, to enable
per-word highlighting in Select-to-Speak.

This is purely a refactor, with no functionality changes.

Bug:  676451 
Change-Id: I73c03cc022359f1cca8c5443b63a659dbb104775
Reviewed-on: https://chromium-review.googlesource.com/756281
Commit-Queue: Katie D <katie@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514741}
[modify] https://crrev.com/c0ad2ffa390177a8e6edfbb241fe3cf17f39c94c/ash/BUILD.gn
[modify] https://crrev.com/c0ad2ffa390177a8e6edfbb241fe3cf17f39c94c/ash/accessibility/accessibility_cursor_ring_layer.cc
[modify] https://crrev.com/c0ad2ffa390177a8e6edfbb241fe3cf17f39c94c/ash/accessibility/accessibility_cursor_ring_layer.h
[modify] https://crrev.com/c0ad2ffa390177a8e6edfbb241fe3cf17f39c94c/ash/accessibility/accessibility_focus_ring_controller.h
[modify] https://crrev.com/c0ad2ffa390177a8e6edfbb241fe3cf17f39c94c/ash/accessibility/accessibility_focus_ring_layer.cc
[modify] https://crrev.com/c0ad2ffa390177a8e6edfbb241fe3cf17f39c94c/ash/accessibility/accessibility_focus_ring_layer.h
[add] https://crrev.com/c0ad2ffa390177a8e6edfbb241fe3cf17f39c94c/ash/accessibility/accessibility_layer.cc
[add] https://crrev.com/c0ad2ffa390177a8e6edfbb241fe3cf17f39c94c/ash/accessibility/accessibility_layer.h
[modify] https://crrev.com/c0ad2ffa390177a8e6edfbb241fe3cf17f39c94c/ash/accessibility/focus_ring_controller.h
[modify] https://crrev.com/c0ad2ffa390177a8e6edfbb241fe3cf17f39c94c/ash/accessibility/focus_ring_layer.cc
[modify] https://crrev.com/c0ad2ffa390177a8e6edfbb241fe3cf17f39c94c/ash/accessibility/focus_ring_layer.h

Status: Started (was: Available)
Project Member

Comment 14 by bugdroid1@chromium.org, Nov 14 2017

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

commit 9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac
Author: Katie Dektar <katydek@google.com>
Date: Tue Nov 14 23:45:35 2017

Adds ability to highlight rects in chrome.accessibilityPrivate.

This lets Select-to-Speak highlight words as they are read out
loud.

See design doc at go/chromeos-sts-highlight.

Bug:  676451 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I6b667b0e20cdbe0a83b4715de4e87a322c81b6ae
Reviewed-on: https://chromium-review.googlesource.com/758726
Commit-Queue: Katie D <katie@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516502}
[modify] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/ash/BUILD.gn
[modify] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/ash/accessibility/accessibility_focus_ring_controller.cc
[modify] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/ash/accessibility/accessibility_focus_ring_controller.h
[add] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/ash/accessibility/accessibility_highlight_layer.cc
[add] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/ash/accessibility/accessibility_highlight_layer.h
[modify] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/ash/accessibility/accessibility_layer.h
[modify] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/ash/accessibility/focus_ring_layer.cc
[modify] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/ash/accessibility/focus_ring_layer.h
[modify] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/chrome/browser/accessibility/accessibility_extension_api.cc
[modify] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/chrome/browser/accessibility/accessibility_extension_api.h
[modify] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/chrome/browser/resources/chromeos/select_to_speak/select_to_speak.js
[modify] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/chrome/common/extensions/api/accessibility_private.json
[modify] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/extensions/browser/extension_function_histogram_value.h
[modify] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/third_party/closure_compiler/externs/accessibility_private.js
[modify] https://crrev.com/9fa180d26c3c0cc2f0c121cd7a67aabe828c48ac/tools/metrics/histograms/enums.xml

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 15 2017

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 17 2017

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

commit 607c698a9ef1d4277a41da67089a8cfa620f1d8a
Author: Katie Dektar <katydek@google.com>
Date: Fri Nov 17 21:33:57 2017

Improve word highlighting by using wordStarts and wordEnds from a11y.

The accessibility node has wordStarts and wordEnds that are more
robust markers than using regular expressions to find starts/ends
for highlighting.

Some highlighting trouble is still found around special characters
like quotes or parenthesis which throw off the tts event indexes,
however this is a dramatic improvement.

Bug:  676451 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I4bb9c585e56459ad1326d2944830b64816435109
Reviewed-on: https://chromium-review.googlesource.com/773481
Commit-Queue: Katie D <katie@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517562}
[modify] https://crrev.com/607c698a9ef1d4277a41da67089a8cfa620f1d8a/chrome/browser/resources/chromeos/select_to_speak/select_to_speak.js
[modify] https://crrev.com/607c698a9ef1d4277a41da67089a8cfa620f1d8a/chrome/browser/resources/chromeos/select_to_speak/select_to_speak_unittest.gtestjs

Comment 18 by katie@chromium.org, Nov 17 2017

This is fixed. There are still some issues with grabbing the right word to highlight for special cases because the TTS engine returns unexpected word indexes, but that's tracked separately.

To verify, open select-to-speak settings, turn on word highlighting. Try changing the highlight colors. Text should be highlighted per-word, but images should not be highlighted.

Comment 19 by katie@chromium.org, Nov 17 2017

Cc: lpalmaro@chromium.org
Status: Fixed (was: Started)
Verified --- this is working with Chrome 64.0.3280.5 (Official Build) dev (64-bit).

Comment 21 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Comment 22 by dchan@chromium.org, Jan 23 2018

Status: Fixed (was: Archived)
Components: UI>Accessibility>SelectToSpeak
Moving from just having STS label to also having the UI>Accessibility>SelectToSpeak component to make searching easier in the future. 

Sign in to add a comment