Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose grammar errors from IAccessible2 text. #8280

merged 1 commit into from Jun 13, 2018


None yet
6 participants
Copy link

michaelDCurran commented May 16, 2018

Link to issue number:


Summary of the issue:

As well as spelling errors, IAccessible2 implementstions can also expose grammar errors. This may be through built-in support in the app itself, or conveyed by the author via aria-invalid="grammar".
However, NVDA only looks for spelling errors from IAccessible2, not grammar errors.
Grammar errors in UIA are already supported.

Description of how this pull request fixes the issue:

NVDA now supports the IAccessible2 text attribute: invalid:grammar, and maps it appropriately as the invalid-grammar=True attribute on formatFields so that it is spoken similar to spelling errors.

Testing performed:

Using following html testcase:
Tested in Firefox to ensure that NVDA announced grammar error at the appropriate place. (at the position of the second "to ").
Chrome does not yet expose grammar errors.

Known issues with pull request:


Change log entry:

New features:
NVDA will report grammar errors when appropriately exposed by web pages in Mozilla Firefox.

@michaelDCurran michaelDCurran requested a review from feerrenrut May 16, 2018


This comment has been minimized.

Copy link

derekriemer commented May 16, 2018



This comment has been minimized.

Copy link

Brian1Gaff commented May 16, 2018

Copy link

leonardder left a comment

Might this also work with LibreOffice? Probably not...

michaelDCurran added a commit that referenced this pull request May 29, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.