New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 730977 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Oct 2017
Components:
EstimatedDays: ----
NextAction: 2017-09-05
OS: Windows
Pri: 3
Type: Bug
Team-Accessibility



Sign in to add a comment

Spelling errors not exposed to accessibility in contentEditable

Project Member Reported by ja...@nvaccess.org, Jun 8 2017

Issue description

Chrome Version: 61.0.3122.0 (Official Build) canary(64-bit)
OS: Windows 10 Version 1703 (OS Build 16199.1000) 64-bit

What steps will reproduce the problem?

(1) Start Chrome and the NVDA screen reader.
(2) Open this URL: data:text/html,<div contentEditable="true" style="width: 100px; height: 100px;"></div>
(3) Focus the text box.
(4) Type "Tseting", followed by two spaces. (The second space is needed to work around  issue 640479 .)
(5) Make NVDA read the line; pressing up arrow will do.
Expected: NVDA should say "spelling error  Tseting"
Actual: NVDA just says "Tseting"
(6) Press home, then right arrow to move the caret to the "s".
(7) Observe that Chrome provides spelling suggestions, which means spell checking definitely applies here.

IAccessibleText::attributes(0) on the contentEditable accessible reports "invalid:false", but it should report "invalid:spelling". This does work correctly for <input type="text"> and <textarea> (excepting the aforementioned  issue 640479 ).

Impact: This means Chrome + screen reader users cannot take advantage of Chrome spell checking in contentEditable, including Gmail's message composer.
 
Labels: triage-nektar
Labels: triage-dominic
Components: -UI>Accessibility UI>Accessibility>Compatibility
Labels: -triage-dominic -triage-nektar
NextAction: 2017-09-05
Status: assigned (was: Untriaged)
Patch out for review. Writing tests.
The NextAction date has arrived: 2017-09-05
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 9 2017

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

commit 2a6d05c40c3d417ca52cf24880da8978eb87fce9
Author: Nektarios Paisios <nektar@chromium.org>
Date: Mon Oct 09 17:54:56 2017

Updates the accessibility tree when a spelling marker is added/removed.

The spell checker runs in the idle step of the document life cycle.
Modifications that it makes should be reflected in the accessibility tree as soon as
the related node has been paint invalidated.
Currently, any mispelling markers that are added or removed are not updated in the accessibility tree,
unless there is an unrelated update that would cause them to be updated,
e.g. some more text was typed or the caret got moved.
This breaks the ability of the NVDA screen reader to play a sound
as soon as a mispelling is detected.
R=aleventhal@chromium.org, kojii@chromium.org

Bug:  730977 
Change-Id: Icfb2d724867d7895c3c6ad7964928c778c9ceca1
Reviewed-on: https://chromium-review.googlesource.com/700175
Commit-Queue: Nektarios Paisios <nektar@chromium.org>
Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507405}
[modify] https://crrev.com/2a6d05c40c3d417ca52cf24880da8978eb87fce9/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[delete] https://crrev.com/fb9d1e0f123556d51169568a24042bb9a547031e/third_party/WebKit/LayoutTests/accessibility/misspellings.html
[add] https://crrev.com/2a6d05c40c3d417ca52cf24880da8978eb87fce9/third_party/WebKit/LayoutTests/accessibility/spelling-markers.html
[modify] https://crrev.com/2a6d05c40c3d417ca52cf24880da8978eb87fce9/third_party/WebKit/Source/core/editing/markers/DocumentMarkerController.cpp
[modify] https://crrev.com/2a6d05c40c3d417ca52cf24880da8978eb87fce9/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp

Project Member

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

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

commit 140f8ce04cc4ee5d4b3ca2eb83888d2452a1f43b
Author: Nektarios Paisios <nektar@chromium.org>
Date: Fri Oct 20 00:39:03 2017

Changes to children of platform leaves may affect the Win attributes of their parents.

This bug is readily apparent when misspelling markers are added to static text objects inside text fields but the text field is not notified of the change. As a result, NVDA doesn't make any sound indication when a misspelling is detected.

Bug:  730977 
Change-Id: I6872e62f676691f0709ab3d933543707e382a8c9
Reviewed-on: https://chromium-review.googlesource.com/728353
Commit-Queue: Nektarios Paisios <nektar@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510270}
[modify] https://crrev.com/140f8ce04cc4ee5d4b3ca2eb83888d2452a1f43b/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/140f8ce04cc4ee5d4b3ca2eb83888d2452a1f43b/content/browser/accessibility/browser_accessibility_manager_win.cc
[modify] https://crrev.com/140f8ce04cc4ee5d4b3ca2eb83888d2452a1f43b/content/browser/accessibility/browser_accessibility_win_unittest.cc

Project Member

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

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

commit ee2c1e7931f9b7058ddb199a082c0daee032857e
Author: Nektarios Paisios <nektar@chromium.org>
Date: Mon Oct 23 21:24:39 2017

For compatibility with Firefox, spelling attributes need to be propagated to the parents of text leaves.

Jaws and NVDA may not announce all spelling errors in a content editable if the spelling marker information is not present on the parent objects of static text leaves.
Firefox doesn't expose the IAccessibleText interface on static text leaves. I believe that this gives screen readers no choice but to look for spelling marker information on their parents and if they don't find it get confused.
R=dmazzoni@chromium.org, aleventhal@chromium.org
TESTED=Compose window in Gmail, unit test, comparison with Firefox

Bug:  730977 
Change-Id: Ia3936345224e1ed94fc66abb1256cfbf20418801
Reviewed-on: https://chromium-review.googlesource.com/731228
Commit-Queue: Nektarios Paisios <nektar@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510926}
[modify] https://crrev.com/ee2c1e7931f9b7058ddb199a082c0daee032857e/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/ee2c1e7931f9b7058ddb199a082c0daee032857e/content/browser/accessibility/browser_accessibility_com_win.h
[modify] https://crrev.com/ee2c1e7931f9b7058ddb199a082c0daee032857e/content/browser/accessibility/browser_accessibility_win_unittest.cc

Comment 8 by nek...@chromium.org, Oct 25 2017

Status: Fixed (was: Assigned)
Status: Verified (was: Fixed)

Sign in to add a comment