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

Issue 790828 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Sep 19
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug
Team-Accessibility



Sign in to add a comment

A11Y: Spelling suggestions are not available in context menu when first letter of misspelled word has focus

Project Member Reported by dsexton@chromium.org, Dec 1 2017

Issue description

Chrome 64.0.3281.0 (Official Build) canary (64-bit) (cohort: Clang-64)
NVDA: 2017.3 

Steps to repro:
# With NVDA running: Compose a new email in gmail
# Type some misspelled words
# Use ctrl+left and right arrows to move focus to the word
# Press applications key or shift+f10 to activate the context menu
# Notice that there are no suggestions shown
# Press right arrow
# Press applications or shift+f10
# Notice that spelling suggestions appear in this menu

Expected: any part of the word should present suggestions

Actual: Only when a letter in the middle of the word has focus do suggestions appear


 
Components: -UI>Accessibility UI>Accessibility>Compatibility
Labels: -Pri-2 Pri-1

Comment 3 by nek...@chromium.org, Dec 15 2017

Labels: -Pri-1 editing Pri-2
Lowering priority since there is a workaround. Simply put the cursor inside the word and then invoke the context menu.

Comment 4 by nek...@chromium.org, Apr 17 2018

Patch uploaded, but I have a question: On the Mac Cmd-
Right and on Linux Ctrl+Right moves to the end of the word. What should context menu do in those cases.

Comment 5 by nek...@chromium.org, Apr 17 2018

Owner: nek...@chromium.org
Status: Started (was: Available)

Comment 6 by l...@accessaces.com, Apr 17 2018

hello: context menu should never move focus it should stay wair you  are
when you hit it so the menu should come up and the screen reader focus
should be on the first misspelled word in the list.  then once the word is
changed the focus should return to wair the user was when they actavated
the menu. if the  letter under the focus happens to be one that  changed
still keep focus there and have the screen reader anowns new word
insurted.. infact every time the new word replaces a word it should say new
word  replaced old word. hope this helps lucy
@nektar, at the end of the word, the context menu should also show the spelling suggestion. This is consistent with the behavior of other apps, including Firefox and MS Word, and is visually intuitive.
Here is the WIP -- it has conflicts and there are some unaddressed comments:
https://chromium-review.googlesource.com/c/chromium/src/+/1033430 
Project Member

Comment 9 by bugdroid1@chromium.org, Sep 19

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

commit 8698aaf73d4a96f2a690d693c18ebe4d1a842d65
Author: Nektarios Paisios <nektar@chromium.org>
Date: Wed Sep 19 00:01:11 2018

If the caret is at the boundary of a misspelling, getting suggestions via context menu should work

If a screen reader user tries to get spelling suggestions for a misspelled word, they usually first move to the beginning of the word using Ctrl+Left/Right and then invoke the context menu.
On Windows, Ctrl+Left/Right always moves to the start of the word. On other platforms, Ctrl or Cmd + Left moves to the start whilst Ctrl / Cmd + Right moves to the end of the word.
When any of the above keystrokes are pressed, the user hears the whole word.
It is not reasonable to expect the user to first press Ctrl+Left/Right to navigate through the line until they find the spelling mistake and then have to additionally press cursor right, (or cursor left when using Cmd-Right on Mac), so that the caret is within the word before invoking the context menu.
The result is that many screen reader users might have the mistaken believe that our spell checker is broken.

R=dmazzoni@chromium.org, yosin@chromium.org

Bug:  790828 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: Icdfc24eb85afe3217320d648183083133418fd58
Reviewed-on: https://chromium-review.googlesource.com/1033430
Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org>
Commit-Queue: Nektarios Paisios <nektar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592270}
[modify] https://crrev.com/8698aaf73d4a96f2a690d693c18ebe4d1a842d65/third_party/WebKit/LayoutTests/editing/spelling/context_click_select_misspelling.html
[modify] https://crrev.com/8698aaf73d4a96f2a690d693c18ebe4d1a842d65/third_party/blink/renderer/core/editing/ephemeral_range.h
[modify] https://crrev.com/8698aaf73d4a96f2a690d693c18ebe4d1a842d65/third_party/blink/renderer/core/editing/markers/document_marker_controller.cc
[modify] https://crrev.com/8698aaf73d4a96f2a690d693c18ebe4d1a842d65/third_party/blink/renderer/core/editing/markers/document_marker_controller.h
[modify] https://crrev.com/8698aaf73d4a96f2a690d693c18ebe4d1a842d65/third_party/blink/renderer/core/editing/selection_controller.cc
[modify] https://crrev.com/8698aaf73d4a96f2a690d693c18ebe4d1a842d65/third_party/blink/renderer/core/editing/spellcheck/spell_checker.cc
[modify] https://crrev.com/8698aaf73d4a96f2a690d693c18ebe4d1a842d65/third_party/blink/renderer/core/editing/spellcheck/spell_checker_test.cc

Status: Fixed (was: Started)
Spelling suggestions now appear when the caret is before the first or after the last character of a misspelled word.
Project Member

Comment 12 by bugdroid1@chromium.org, Sep 21

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

commit 00d70d01f780dea6b0c815035319a7e1fbfebbd0
Author: Yoshifumi Inoue <yosin@chromium.org>
Date: Fri Sep 21 09:31:09 2018

Revert "If the caret is at the boundary of a misspelling, getting suggestions via context menu should work"

This reverts commit 8698aaf73d4a96f2a690d693c18ebe4d1a842d65.

Reason for revert: Causes lots of crashes on canary
http://crbug.com/886589

Original change's description:
> If the caret is at the boundary of a misspelling, getting suggestions via context menu should work
> 
> If a screen reader user tries to get spelling suggestions for a misspelled word, they usually first move to the beginning of the word using Ctrl+Left/Right and then invoke the context menu.
> On Windows, Ctrl+Left/Right always moves to the start of the word. On other platforms, Ctrl or Cmd + Left moves to the start whilst Ctrl / Cmd + Right moves to the end of the word.
> When any of the above keystrokes are pressed, the user hears the whole word.
> It is not reasonable to expect the user to first press Ctrl+Left/Right to navigate through the line until they find the spelling mistake and then have to additionally press cursor right, (or cursor left when using Cmd-Right on Mac), so that the caret is within the word before invoking the context menu.
> The result is that many screen reader users might have the mistaken believe that our spell checker is broken.
> 
> R=​dmazzoni@chromium.org, yosin@chromium.org
> 
> Bug:  790828 
> Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
> Change-Id: Icdfc24eb85afe3217320d648183083133418fd58
> Reviewed-on: https://chromium-review.googlesource.com/1033430
> Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org>
> Commit-Queue: Nektarios Paisios <nektar@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#592270}

TBR=dmazzoni@chromium.org,yosin@chromium.org,yoichio@chromium.org,nektar@chromium.org,xiaochengh@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  790828 
Change-Id: Icbe0c3e14eb08cfbd167ba86f1dc0dd3a2ce0819
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Reviewed-on: https://chromium-review.googlesource.com/1237836
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593132}
[modify] https://crrev.com/00d70d01f780dea6b0c815035319a7e1fbfebbd0/third_party/WebKit/LayoutTests/editing/spelling/context_click_select_misspelling.html
[modify] https://crrev.com/00d70d01f780dea6b0c815035319a7e1fbfebbd0/third_party/blink/renderer/core/editing/ephemeral_range.h
[modify] https://crrev.com/00d70d01f780dea6b0c815035319a7e1fbfebbd0/third_party/blink/renderer/core/editing/markers/document_marker_controller.cc
[modify] https://crrev.com/00d70d01f780dea6b0c815035319a7e1fbfebbd0/third_party/blink/renderer/core/editing/markers/document_marker_controller.h
[modify] https://crrev.com/00d70d01f780dea6b0c815035319a7e1fbfebbd0/third_party/blink/renderer/core/editing/selection_controller.cc
[modify] https://crrev.com/00d70d01f780dea6b0c815035319a7e1fbfebbd0/third_party/blink/renderer/core/editing/spellcheck/spell_checker.cc
[modify] https://crrev.com/00d70d01f780dea6b0c815035319a7e1fbfebbd0/third_party/blink/renderer/core/editing/spellcheck/spell_checker_test.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Oct 5

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

commit 5ddae1a5ca9c7f51421a283ba967910c0831f2c4
Author: Nektarios Paisios <nektar@chromium.org>
Date: Fri Oct 05 16:45:07 2018

Reland "If the caret is at the boundary of a misspelling, getting > > If the caret is at the boundary of a misspelling, getting suggestions via context menu should work

If a screen reader user tries to get spelling suggestions for a misspelled word, they usually first move to the beginning of the word using Ctrl+Left/Right and then invoke the context menu.
On Windows, Ctrl+Left/Right always moves to the start of the word. On other platforms, Ctrl or Cmd + Left moves to the start whilst Ctrl / Cmd + Right moves to the end of the word.
When any of the above keystrokes are pressed, the user hears the whole word.
It is not reasonable to expect the user to first press Ctrl+Left/Right to navigate through the line until they find the spelling mistake and then have to additionally press cursor right, (or cursor left when using Cmd-Right on Mac), so that the caret is within the word before invoking the context menu.
The result is that many screen reader users might have the mistaken believe that our spell checker is broken.
Tested: Manually, unit tests, layout tests
Bug:  790828 

Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I847419f299e1a56c4e32a7d00368f663f66072ff
Reviewed-on: https://chromium-review.googlesource.com/c/1252247
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Nektarios Paisios <nektar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597166}
[modify] https://crrev.com/5ddae1a5ca9c7f51421a283ba967910c0831f2c4/third_party/WebKit/LayoutTests/editing/spelling/context_click_select_misspelling.html
[modify] https://crrev.com/5ddae1a5ca9c7f51421a283ba967910c0831f2c4/third_party/blink/renderer/core/editing/ephemeral_range.h
[modify] https://crrev.com/5ddae1a5ca9c7f51421a283ba967910c0831f2c4/third_party/blink/renderer/core/editing/markers/document_marker_controller.cc
[modify] https://crrev.com/5ddae1a5ca9c7f51421a283ba967910c0831f2c4/third_party/blink/renderer/core/editing/markers/document_marker_controller.h
[modify] https://crrev.com/5ddae1a5ca9c7f51421a283ba967910c0831f2c4/third_party/blink/renderer/core/editing/selection_controller.cc
[modify] https://crrev.com/5ddae1a5ca9c7f51421a283ba967910c0831f2c4/third_party/blink/renderer/core/editing/spellcheck/spell_checker.cc
[modify] https://crrev.com/5ddae1a5ca9c7f51421a283ba967910c0831f2c4/third_party/blink/renderer/core/editing/spellcheck/spell_checker_test.cc

Sign in to add a comment