Fixed character echo on the Mac in text fields and content editables

Desktop / Chromium - Nektarios Paisios [chromium.org] - 8 August 2017 16:29 EDT

1. The correct text edit type needed to be set so that Voiceover will know what caused the text in the text field or content editable to change. This patch assumes that every change occurred because the user typed something. More changes in Blink are required in order to add more edit types. 2. The text that was deleted needed to be sent separately from the text that was inserted, in order that Voiceover would change pitch when reading out the deleted character. 3. Safari exposes a pointer to the root of the editable field on every object in the field. It also exposes the highest editable root in case there are embedded editable fields in other editable fields. 4. Safari exposes the value attribute on content editables as well as text fields. Bug: 738963 R=dmazzoni@chromium.org, ellyjones@chromium.org TESTED=manually with Voiceover, layout test, browser tests

Change-Id: I4715877dcfa46eaed757e3c7f354aaa0ff71fa30 Reviewed-on: https://chromium-review.googlesource.com/565769 Commit-Queue: Nektarios Paisios

5669784 Fixed character echo on the Mac in text fields and content editables.
.../accessibility_tree_formatter_mac.mm | 2 +
.../accessibility/browser_accessibility_android.cc | 3 +
.../accessibility/browser_accessibility_cocoa.h | 25 +++++
.../accessibility/browser_accessibility_cocoa.mm | 87 +++++++++++++++-
.../browser_accessibility_mac_unittest.mm | 110 ++++++++++++++++++---
.../browser_accessibility_manager_mac.h | 13 +--
.../browser_accessibility_manager_mac.mm | 84 ++++++----------
.../renderer/accessibility/blink_ax_tree_source.cc | 4 +
content/shell/test_runner/web_ax_object_proxy.cc | 6 ++
content/shell/test_runner/web_ax_object_proxy.h | 1 +
.../contenteditable-descendants-expected-blink.txt | 6 +-
...e-descendants-with-selection-expected-blink.txt | 4 +-
.../html/contenteditable-descendants.html | 3 +
...th-embedded-contenteditables-expected-blink.txt | 6 +-
.../accessibility/html/input-text-expected-mac.txt | 3 +-
.../test/data/accessibility/html/input-text.html | 4 +-
.../accessibility/html/textarea-expected-mac.txt | 2 +-
content/test/data/accessibility/html/textarea.html | 4 +-
.../LayoutTests/accessibility/editable-root.html | 54 ++++++++++
.../Source/modules/accessibility/AXObject.cpp | 11 ++-
.../WebKit/Source/modules/accessibility/AXObject.h | 2 +
.../WebKit/Source/modules/exported/WebAXObject.cpp | 7 ++
third_party/WebKit/public/web/WebAXObject.h | 1 +
ui/accessibility/ax_enums.idl | 3 +
ui/accessibility/ax_node_data.cc | 3 +
25 files changed, 358 insertions(+), 90 deletions(-)

Upstream: git.chromium.org


  • Share