| Index: chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js
|
| diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js b/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js
|
| index 8f20f28be389e6e3d2b07a8db823e0733e3c3955..4237af5815ff39b8b482defe7fae6f684e070cd6 100644
|
| --- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js
|
| +++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/desktop_automation_handler.js
|
| @@ -141,10 +141,17 @@ DesktopAutomationHandler.prototype = {
|
| node = node.find({state: {focused: true}}) || node;
|
| }
|
|
|
| - if (this.isEditable_(evt.target))
|
| - this.createEditableTextHandlerIfNeeded_(evt.target);
|
| + if (this.isEditable_(node))
|
| + this.createEditableTextHandlerIfNeeded_(node);
|
|
|
| - this.onEventDefault({target: node, type: 'focus'});
|
| + // Since we queue output mostly for live regions support and there isn't a
|
| + // reliable way to know if this focus event resulted from a user's explicit
|
| + // action, only flush when the focused node is not web content.
|
| + if (node.root.role == RoleType.desktop)
|
| + Output.flushNextSpeechUtterance();
|
| +
|
| + this.onEventDefault(
|
| + {target: node, type: chrome.automation.EventType.focus});
|
| },
|
|
|
| /**
|
|
|