Initially reported on the a11y mailing list, quoting from there [1]: > My second point is about automatic spell checking. I find that my > screen reader will only inform me of a spelling error if the cursor > happens to land on the word. I don't know if I can make it any > clearer, but for instance if reading a line back in this email, NVDA > will announce "spelling error" each time it encounters a mis-spelled > word. In LO writer, I will only be told each mis-spelled word when the > cursor is on it. Pretty little thing this, but it would be nice if it > could be corrected." and additional information from a follow-up email in the thread [2]: > I can reproduce this, e.g. with a paragraph containing this text: > > "Hello world, wrrong spelling." > > Moving to that paragraph using the cursor up/down key, NVDA announces "spelling error" when using Word right away, but not for Writer. Steps to reproduce: 1) make sure to have a dictionary installed, like https://extensions.libreoffice.org/en/extensions/show/english-dictionaries 2) start NVDA screen reader 3) start Writer 4) type "Hello world, wrrong spelling." for first paragraph 5) double-check that "wrrong" is visually marked as having a spelling error (red underline) 6) hit Enter to create a second paragraph 7) press Up key to move to the first paragraph again Actual result: NVDA announces the text without indicating that there is a spelling error in the word "wrrong", just says: "Hello world, wrrong spelling." Expected result: NVDA should indicate that there is a spelling error in the word "wrrong", as it does when taking the above steps in MS Word instead: "Hello world, spelling error wrrong spelling." NVDA 2023.2 Version: 7.6.2.1 (X86_64) / LibreOffice Community Build ID: 56f7684011345957bbf33a7ee678afaf4d2ba333 CPU threads: 8; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win Locale: en-US (en_DE); UI: en-GB Calc: threaded [1] https://listarchives.libreoffice.org/global/accessibility/msg01055.html [2] https://listarchives.libreoffice.org/global/accessibility/msg01057.html
Self-confirming, since it was originally reported by another user on the a11y mailing list. I'm currently looking into this.
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/b9b3d49dfe2de62612cdebbc465c8322acf410b1 tdf#157696 vcl a11y: Move qt's translation to IA2 text attrs for reuse It will be available in 24.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/c2a90307d507817a4cc7741a1a7ade062fdb390b tdf#157696 a11y: Escape commas in IAccessible2 color text attribute It will be available in 24.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Created attachment 190168 [details] Sample doc using different formatting attributes and misspelled words LO on Windows currently does not expose spelling errors via text attributes. NVDA uses the red underline for misspelled words to detect misspelled words. LO also doesn't specify the character attributes it currently reports according to the IAccessible2 text attribute specification [1], but uses its own attribute names and values, which NVDA evaluates in its LibreOffice-specific app module [2]. I think the best way forward is to switch to adhere to the IAccessible2 specification and report the "invalid:spelling" attribute for spelling errors. That also needs a modification in NVDA to longer expect the custom attributes. Once that's implemented, we'll see whether that already makes the announcement of misspelled words work as expected or more is needed. Attached is a sample document with the formatting attributes that NVDA currently evaluates. I'm currently getting over these and implementing what's needed so this will still work after switching to the IAccessible2 text attributes. [1] https://wiki.linuxfoundation.org/accessibility/iaccessible2/textattributes [2] https://github.com/nvaccess/nvda/blob/f1c73d1d25e08c53664eb299fadc81db22c61b13/source/appModules/soffice.py#L35
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/807b0507563b1c54822dd302b210931297acde23 tdf#157696 a11y: Map "CharEscapement" text attr to IA2 "text-position" It will be available in 24.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/c0a284541fad2c4609d418a5002550f6f9581d51 tdf#157696 a11y Translate "CharStrikeout" to IA2 equivalents It will be available in 24.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/15a6e23c4fc160c50a316da3d18980a02fc10ce8 tdf#157696 qt a11y: Move handling for text attr offsets to helper It will be available in 24.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/ec2e02cfa41510c3d30b118cbf7595c84a046d03 tdf#157696 a11y: Report spelling error via IA2 "invalid:spelling" attr It will be available in 24.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Pending Gerrit change to switch LibreOffice to reporting text attributes according to the IAccessible2 spec: https://github.com/nvaccess/nvda/issues/15648 Corresponding NVDA issue and pending PR to adapt NVDA to support the "new" attributes reported by LibreOffice: https://github.com/nvaccess/nvda/issues/15648 https://github.com/nvaccess/nvda/pull/15649 With these changes in place in local branches of LibreOffice and NVDA, the announcement of misspelled words works.
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/2bf88c172c9c9d159344b95fb96073f4891a6c30 tdf#157696 wina11y: Switch from custom to IA2 text attributes It will be available in 24.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
(In reply to Michael Weghorn from comment #9) > Pending Gerrit change to switch LibreOffice to reporting text attributes > according to the IAccessible2 spec: > > https://github.com/nvaccess/nvda/issues/15648 > > Corresponding NVDA issue and pending PR to adapt NVDA to support the "new" > attributes reported by LibreOffice: > > https://github.com/nvaccess/nvda/issues/15648 > https://github.com/nvaccess/nvda/pull/15649 > > With these changes in place in local branches of LibreOffice and NVDA, the > announcement of misspelled words works. These are all merged now, so announcement works with the current development versions of both, LibreOffice (upcoming LibreOffice 24.2) and NVDA (upcoming NVDA 2024.1). -> Closing as fixed. (I might come up with some more changes related to text attributes for things I saw while working on this, but they're not required for the use case described here.)