NVDA produces errors in the rich text editor of Gmail

RESOLVED WORKSFORME

Status

()

Core
Disability Access APIs
P1
major
RESOLVED WORKSFORME
6 months ago
4 months ago

People

(Reporter: MarcoZ, Unassigned)

Tracking

(Blocks: 1 bug, {regression})

57 Branch
x86
Windows 10
regression
Points:
---

Firefox Tracking Flags

(firefox56 unaffected, firefox57 fixed)

Details

(Whiteboard: aes+)

(Reporter)

Description

6 months ago
This is a recent regression, possibly as recent as the 2017-08-02 build, but I need to confirm that. To reproduce:

1. Start NVDA.
2. Log into Gmail.
3. Click Compose, fill in an e-mail address and subject, and tab to the e-mail body field.
4. Type a greeting phrase, and then press Enter to insert a new line.

Result: From this point on, NVDA will start emitting a dark error sound, and it is no longer possible to read any of the text within the rich text editor. The error that gets logged is:

IO - inputCore.InputManager.executeGesture (10:32:33.658):
Input: kb(laptop):downArrow
DEBUG - editableText.EditableText._hasCaretMoved (10:32:33.737):
Caret move detected using bookmarks. Elapsed: 0 ms
ERROR - scriptHandler.executeScript (10:32:33.746):
error executing script: <bound method Dynamic_EditableTextWithAutoSelectDetectionEditorMozillaIAccessible.script_caret_moveByLine of <NVDAObjects.Dynamic_EditableTextWithAutoSelectDetectionEditorMozillaIAccessible object at 0x054A69F0>> with gesture u'Pfeiltaste nach unten'
Traceback (most recent call last):
  File "scriptHandler.pyc", line 187, in executeScript
  File "editableText.pyc", line 176, in script_caret_moveByLine
  File "editableText.pyc", line 136, in _caretMovementScriptHelper
  File "editableText.pyc", line 122, in _caretScriptPostMovedHelper
  File "speech.pyc", line 749, in speakTextInfo
  File "NVDAObjects\IAccessible\ia2TextMozilla.pyc", line 340, in getTextWithFields
  File "NVDAObjects\IAccessible\ia2TextMozilla.pyc", line 294, in _getText
  File "NVDAObjects\IAccessible\ia2TextMozilla.pyc", line 238, in _iterRecursiveText
  File "NVDAObjects\IAccessible\ia2TextMozilla.pyc", line 36, in _getRawTextInfo
AttributeError: 'NoneType' object has no attribute 'role'
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IAccessibleRole (10:32:33.986):
accRole failed: (-2147024809, 'Falscher Parameter.', (None, None, None, 0, None))

In an e-mail conversation, Jamie said that this is possibly due to NVDA trying to get an embedded character's accessible object. The first line is visible when typing it, but as soon as a second line is added, things start going bad.

I noticed this when first composing an e-mail with the 2017-08-02 nightly build, the build I had on previously, 2017-07-31 or 2017-08-01, did not exhibit this error yesterday.

Standard multiline text fields like this description field are not affected.

Updated

6 months ago
Keywords: regressionwindow-wanted
Priority: -- → P1
(Reporter)

Comment 1

6 months ago
This broke between the last 56 build on August 1 and the first 57 build on August 2.

Regression window:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=51ffb9283f0c7c00e08eb8c39b33fbee218c370d&tochange=52285ea5e54c73d3ed824544cef2ee3f195f05e6

There are two accessibility-related bugs. First bug is bug 1384328, modifying things in COM land. Second bug is bug 1371781. This had to do with select elements, not multiline edits, but who knows?
Has Regression Range: --- → yes
Has STR: --- → yes
status-firefox56: --- → unaffected
Keywords: regressionwindow-wanted

Comment 2

6 months ago
is aria-owns involved in that example any way?
(Reporter)

Comment 3

6 months ago
(In reply to alexander :surkov from comment #2)
> is aria-owns involved in that example any way?

Possibly. It's Gmail.

Comment 4

6 months ago
(In reply to Marco Zehe (:MarcoZ) from comment #1)

> There are two accessibility-related bugs. First bug is bug 1384328,
> modifying things in COM land. Second bug is bug 1371781. This had to do with
> select elements, not multiline edits, but who knows?

is there a way to figure out who exactly is guilty? any bisection tools maybe?
Marco can you bisect to disambiguate the cause? (see comment 4)
Flags: needinfo?(mzehe)
(Reporter)

Comment 6

5 months ago
This one is fixed in current nightlies. I don't know which Nightly fixed it, but I can no longer reproduce.
Status: NEW → RESOLVED
Last Resolved: 5 months ago
Flags: needinfo?(mzehe)
Resolution: --- → WORKSFORME

Updated

4 months ago
status-firefox57: affected → fixed
You need to log in before you can comment on or make changes to this bug.