Microsoft Word: NVDA speaks Every Paragraph Twice When Reading By Paragraph. #3290

Closed
nvaccessAuto opened this Issue Jun 18, 2013 · 19 comments

1 participant

@nvaccessAuto

Reported by jhomme on 2013-06-18 15:50
In the attached Word 2003 document, using Word 2010, Use Control + Up and Control + Down to read by paragraph. NVDA speaks each paragraph twice.
Blocking #3289

@nvaccessAuto

Attachment flowchart.docx added by jhomme on 2013-06-18 15:55
Description:
Word 2003 document.

@nvaccessAuto

Comment 1 by vrdhn on 2013-07-19 04:29
With latest git code, Simlar thing is observed when using right arrow key to move and enter a bullet item.
If the bullet character is Symbol, the first character of sentence is missed, and 'ding' is heard twice.
If the bullet character is not Symbol, the first character of sentence is said twice.

@nvaccessAuto

Comment 2 by vrdhn on 2013-07-19 04:46
looks like the bug I'm talking about is #2649 NVDA reporting the beginning letter twice-Not the Bullet in Word 2010 Pro

@nvaccessAuto

Attachment bug_3290_list_paragraph_reading.diff added by vrdhn on 2013-07-23 11:09
Description:
git diff for fixing the bullet. Also included symbol.dic changes for few bullet types.

@nvaccessAuto

Comment 3 by vrdhn on 2013-07-23 11:10
Hi,
I've uploaded a diff for paragraph up and down.
The fix avoids repetition of paragraph.
This is my first patch, so please let me know
if i'm missing anything.

@nvaccessAuto

Comment 4 by jteh on 2013-07-24 00:17
Thanks for your work.

This will definitely work, but it'd be good to come up with a more integrated solution that also addresses #2649, preferably without depending on scripts (which don't cover other ways of moving to the bullet). I'm not quite sure how to do this yet; the Word object model doesn't seem to provide a way to detect this. One idea might be to try to compare the screen location of the character with the screen location of the caret.

Those symbols are in the private use Unicode area, so it's possible they will mean something else in a different situation. Ideally, we'd be able to find standard Unicode characters for them and map them in the code accordingly. Mick, your thoughts on this point?

@nvaccessAuto

Comment 5 by vrdhn on 2013-08-02 06:39
Hi,
I'm also looking at 2649, it's also doable.
The word object model thinks that caret at bullet, and caret at first
character of paragraph are same position, so the direction of movement
and knowing if caret is at bullet is the only way.

You are correct about the bullet symbols. It looks like Word still uses
the pre-Unicode days Symbol font. I'll see if mapping them to standard
Unicode character, and adding Unicode character to symbols.dic is doable.
Thxn

@nvaccessAuto

Comment 6 by jteh (in reply to comment 5) on 2013-08-02 06:45
Replying to vrdhn:

The word object model thinks that caret at bullet, and caret at first

character of paragraph are same position, so the direction of movement

and knowing if caret is at bullet is the only way.

As I said in comment:4, it might be possible to do it using screen locations. I'm not sure if Word draws the caret in a standard way, but if it does, you can get the screen location of the caret. I'm guessing this will be different when on the bullet. If so, you can compare it against the screen location of the character that Word is reporting as the caret position.

@nvaccessAuto

Comment 7 by vrdhn (in reply to comment 6) on 2013-08-03 06:31
Replying to jteh:

As I said in comment:4, it might be possible to do it using screen locations. I'm not sure if Word draws the caret in a standard way, but if

Does NVDA already have some code which does this ?
I tried looking, but can not find anything like this.

@nvaccessAuto

Comment 8 by jteh (in reply to comment 7) on 2013-08-05 01:22
You can do it via the Win32 API. NVDA defines all the relevant stuff in the winUser module. winUser.getGUIThreadInfo(obj.windowThreadID).rcCaret should give you the caret rectangle for obj's thread.

@nvaccessAuto

Comment 9 by vrdhn on 2013-08-22 04:05
Hi

  1. I was not able to get James suggestion of using screen location to work.
  2. The final patch is in the repository git@bitbucket.org:manish_agrawal/nvda.git
    in the branch bug_3290

  3. This fix also skips the blank non-bulleted paragraphs when reading in paragraph
    navigation.

    Thanks

@nvaccessAuto

Comment 12 by vrdhn on 2013-09-23 06:04
Hello,
The fix has been updated to be bit faster, and I've removed the functionality which was out of scope of this ticket, and based the fix on latest 'next'

Repo: https://bitbucket.org/manish_agrawal/nvda.git
Branch: t3290
Base Branch: next

Thanks
Vardhan

@nvaccessAuto

Comment 13 by Michael Curran <mick@... on 2014-06-14 22:31
In [edec001]:
```CommitTicketReference repository="" revision="edec001957632824e22a23c4f7bcdeee86f0b577"
Merge branch 't3290' into next. Incubates #3290

Changes:
Added labels: incubating
@nvaccessAuto

Comment 14 by sumandogra on 2014-06-25 12:09
tested with 2014.2. this problem has reappeared. the paragraphs are read twice in the lists. this problem was rectified.

@nvaccessAuto

Comment 15 by jteh on 2014-06-25 12:27
This has never been fixed before. The fix is now available for testing in "next" snapshots.

@nvaccessAuto

Comment 16 by Michael Curran <mick@... on 2014-07-20 22:54
In [f356919]:
```CommitTicketReference repository="" revision="f356919b30713804efbbee59dbe6d14b8966e817"
MS Word nextParagraph and previousParagraph Scripts: use textInfos to move the selection rather than one single MS Word move call as it wasn't really ever updating the selection. Re #3290, #4232

@nvaccessAuto

Comment 17 by Michael Curran <mick@... on 2014-07-20 22:54
In [1555d6c]:
```CommitTicketReference repository="" revision="1555d6c8750c79f083016eba924e8f47658195ad"
Merge branch 't3290' into next. Incubates #3290

@nvaccessAuto

Comment 18 by Michael Curran <mick@... on 2014-08-04 23:31
In [d5670d7]:
```CommitTicketReference repository="" revision="d5670d7f3f1a4669b4c6f51ab714b400bed4091d"
Merge branch 't3290'. Fixes #3290

Changes:
Removed labels: incubating
State: closed
@nvaccessAuto

Comment 19 by mdcurran on 2014-08-04 23:36
Changes:
Milestone changed from None to 2014.3

@nvaccessAuto nvaccessAuto added the bug label Nov 10, 2015
@nvaccessAuto nvaccessAuto added this to the 2014.3 milestone Nov 10, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment