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
Powerpoint 2003: serious editing problems in textboxes that contain multiple paragraphs #4619
Comments
Comment 2 by jteh on 2014-11-11 23:08 One question:
How exactly did you do this? Did you press home or did you move by character? The reason I ask is that even if the wrong character was reported (which is obviously a problem), pressing home should still have taken you to the start of the line. Technical: At a guess, I'd say this has something to do with CRLF line endings, but offsets not accounting for this. I can't see how our code could be getting this wrong, so it must be some quirk with PowerPoint 2003. The fact that it's not reproduceable in PowerPoint 2010 would seem to support this hypothesis. |
Comment 3 by Palacee_hun (in reply to comment 2) on 2014-11-12 00:13 |
Comment 4 by jteh (in reply to comment 3) on 2014-11-12 00:26
Right. However, that's not what I meant. If you press home, then delete, then review the text, was the correct character deleted, even though the wrong character was reported when you pressed home and delete? NVDA shouldn't be affecting what PowerPoint does when you press home, even if it reports the wrong thing. |
Comment 5 by Palacee_hun (in reply to comment 4) on 2014-11-12 00:34 |
Comment 6 by Palacee_hun on 2014-11-16 22:01
I hope this is okay for Powerpoint 2010 and such too. If it isn't, you can limit this fix to Powerpoint 2003, or you may choose the "official" route and use the characters method of the textRange object, e.g. like this:
I've experienced some very subtle side effects when trying this alternative, mainly around the last line and it seems moderately slower, but that's just an impression. |
Comment 7 by jteh (in reply to comment 6) on 2014-11-16 22:16 Replying to Palacee_hun:
I assume you mean CRLF is two characters, but it only counts as one offset as far as PowerPoint is concerned? |
Comment 8 by Palacee_hun (in reply to comment 7) on 2014-11-16 22:25 |
Comment 9 by jteh on 2014-11-17 04:50 |
Comment 10 by Michael Curran <mick@... on 2014-11-19 03:47
Changes:
|
Comment 11 by mdcurran on 2014-11-19 03:48 |
Comment 12 by Michael Curran <mick@... on 2014-12-02 01:01
Changes:
|
Reported by Palacee_hun on 2014-11-11 21:53
Steps to reproduce:
[Open Powerpoint and create a new slide.
2. Create any kind of textbox anywhere on the slide big enough to hold a few lines of text.
3. Enter at least four lines of text and end each line with Enter to make the lines into paragraphs.
4. Review the lines first with the review cursor keys, then with regular arrow keys.
The first line looks okay either way. In the second line you'll hear a 'newline' character at the very left end of the line if you use the review cursor, it looks fine with regular arrowing. In the third line you'll notice two newline chars at the left end with the review cursor. In the fourth line one "garbage" char is introduced at the left end, you'll hear it either way. This garbage char comes from the very end of the previous line. With each subsequent paragraph exactly one more char from the previous line gets introduced.
[[BR]([BR]]
1.)]
Now comes the harder part:
5. Position the caret at the first char of the first paragraph (in our example a single line), and hit Delete.
Everything works fine: the first char gets deleted.
6. Now position the caret on the first char of the second paragraph and hit delete again.
Booom: after looking at the line you'll see the second char got deleted, and not the first!
7. Go on with subsequent paragraphs. You'll find that deletion is one more character "off" with every paragraph!
8. Finally try other editing operations with the caret (insert text, copy to clipboard etc.). You'll see that everything is fine in the first paragraph, but in the second the caret is actually one char "off". In the third paragraph the caret is really two chars off, three in the fourth paragraph and so on.
[the second paragraph onward the caret is actually to the right of the character you hear when arrowing. With how many characters to the right depends on in what paragraph you are.
This is a major issue, it makes editing in a textbox containing multiple paragraphs practically impossible.
[[BR]([BR]]
From)]
This is 100% reproducible with Powerpoint 2003, that is what I use. I don't know whether this is a problem with other versions.
Jaws doesn't produce this at all, editing is fine there.
I've debugged several criticalTextInfo methods in the Powerpoint appmodule, but they work correctly and seem to get the right info from the Powerpoint object model. Now I haven't got the faintest idea where this severe bug comes from.
The text was updated successfully, but these errors were encountered: