Issue metadata
Sign in to add a comment
|
ChromeVox spoken feedback reposts unhandled key events |
||||||||||||||||||||||
Issue descriptionChromeVox spoken feedback reposts unhandled key events ChromeVox is implemented as a Chrome extension that intercepts events very early on. The SpokenFeedbackEventRewriter currently passes all key events to the extension when it's enabled. Any key events that are not handled by the extension are reported back to the rewriter for continued dispatch. See notes in ash/events/spoken_feedback_event_rewriter* and ash/public/interfaces/event_rewriter_controller.mojom This reposting of events has two major drawbacks: 1) Added user input latency; key events that aren't handled by ChromeVox are passed around prior to dispatch. 2) Reposted key events may be dispatched out-of-order relative to mouse/etc. events that aren't sent to ChromeVox. My preferred solution is moving logic from the extension to the low-level rewriter: In this approach, the rewriter would synchronously determine which events the extension needs to consume (or passively observe?). There's also a minor related defect that reposted key events are not sent to other EventRewriters.
,
Jul 10
Fixed by https://chromium-review.googlesource.com/c/chromium/src/+/1124674
,
Nov 8
I'm not sure this is completely fixed; shouldn't that mean we don't need SpokenFeedbackEventRewriterDelegate::OnUnhandledSpokenFeedbackEvent? https://cs.chromium.org/chromium/src/ash/events/spoken_feedback_event_rewriter.h?rcl=2b6197eb9948156d2877087345bbc9a38100ca31&l=29
,
Nov 8
Additionally (but less importantly), there's still a TODO citing this bug here: https://cs.chromium.org/chromium/src/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter_delegate.h?rcl=2429b3291ae78971bd6478bacf7c75db857ba961&l=17 Reopening for a quick sanity check if nothing else. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by afakhry@chromium.org
, May 16 2018Owner: dtseng@chromium.org
Status: Assigned (was: Untriaged)