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

NVDA doesn't read properly PPT files witch contain text with transition effects #2907

Closed
nvaccessAuto opened this issue Jan 1, 2013 · 12 comments

Comments

@nvaccessAuto
Copy link

Reported by k_kolev1985 on 2013-01-01 20:23
Hello,

I've recently came across a PPT file, witch has effects for the text in it. What I mean is that the appearing of the text on the slides is with an effect. And sometimes the text for a slide doesn't appear all at once, but segment after a segment. And for each segment to appear, the user has to press "space" or "Page Down" keys. And NVDA doesn't read correctly such a document in full-screen mode - most of the time, it gives audible error sounds.

I'm using MS Office 2007SP3 in bulgarian and Windows 7 Ultimate SP1 32-bit in bulgarian.

I'm attaching the problematic PPT file and my NVDA log file.

@nvaccessAuto
Copy link
Author

Attachment Kompjutyrni virusi i predpazvane ot tjah.ppt added by k_kolev1985 on 2013-01-01 20:24
Description:
Problematic PPT file (in bulgarian, but I think that doesn't matter in this case)

@nvaccessAuto
Copy link
Author

Attachment nvda-k_kolev1985-1.log added by k_kolev1985 on 2013-01-01 20:25
Description:

@nvaccessAuto
Copy link
Author

Comment 1 by mdcurran on 2013-01-02 01:25
Technical:
To fix this we will need to be listening for Powerpoint COM events. However, these COM events can only be implemented using the real interfaces, not IDispatch. Which means either:
A. we let the user's NVDA compile Python comtypes classes for Powerpoint (may take about 10 seconds and watchdog would need to be suspended).
B. NVDA build process compiles Python comtypes interfaces against Powerpoint 2003 -- what if the system doesn't have Powerpoint 2003... how to find it on the system?
C. We implement it in c++ either in nvdaHelperLocal or NVDAHelperRemote and pull in the typelibs with #use -- but again, how to handle Powerpoint 2003 not being on the build system?

@nvaccessAuto
Copy link
Author

Comment 2 by mdcurran on 2013-01-02 01:26
Note, I mention 2003 all the time as its the lowest version we choose to support.

@nvaccessAuto
Copy link
Author

Comment 3 by briang1 (in reply to comment 2) on 2013-01-02 16:42
Replying to mdcurran:

Note, I mention 2003 all the time as its the lowest version we choose to support.

Yes, and though i try to discourage use of Powerpoint files when sending things out, when I do get them they seem to be in 2003 form from most charities, though the local authority seem to be very variable.
I'm watching this development with interest.

@nvaccessAuto
Copy link
Author

Comment 4 by jteh (in reply to comment 1) on 2013-01-02 22:30
Replying to mdcurran:

B. NVDA build process compiles Python comtypes interfaces against Powerpoint 2003

My vote would be for this option.

what if the system doesn't have Powerpoint 2003

In that case, the build won't support !PowerPoint nicely.

how to find it on the system?

I don't quite follow this bit. Is there no easy way to find the typelib? Does the SDK need to be installed? I'm sure there are registry keys we can query if necessary.

C. We implement it in c++ either in nvdaHelperLocal or NVDAHelperRemote

Are there any notable advantages to C++ over Python for this?

@nvaccessAuto
Copy link
Author

Comment 5 by mdcurran (in reply to comment 4) on 2013-01-02 23:45
Replying to jteh:

how to find it on the system?

I don't quite follow this bit. Is there no easy way to find the typelib? Does the SDK need to be installed? I'm sure there are registry keys we can query if necessary.

comtypes probably does have all the needed machinary, will have to investigate. though worse case can be registry as you say.

C. We implement it in c++ either in nvdaHelperLocal or NVDAHelperRemote

Are there any notable advantages to C++ over Python for this?

Only that memory footprint would be smaller... comtypes classes can sometimes be arther large. Though I doubt powerpoint is as bad as mshtml.

@Qchristensen
Copy link
Member

Here are the original files from this ticket (log file renamed to .txt and ppt file renamed to pptx but not converted to new format - it loads fine in PowerPoint 2016). I've also attached a test file I made with four slides with several different text animation effects rather than slide transition effects (the issue is named "transition effects" however that term is used for how the view transitions from one slide to the next whereas the description seems to more closely match "animations" - how text is set to appear on each slide (as text can be set to not all appear as soon as a slide loads).

Finally in terms of this issue, I don't get any error beeps but simply that NVDA reads the full contents of any slide as soon as it loads, even if the contents are not yet shown visually. Nothing is read as I press spacebar, enter or page down to progressively show the bullet points on the slide. ( cc @michaelDCurran )

nvda-k_kolev1985-1 log.txt
various transition effects.pptx

Kompjutyrni virusi i predpazvane ot tjah.pptx

@Qchristensen
Copy link
Member

quick note, you'll need to rename the original file Kompjutyrni virusi i predpazvane ot tjah.pptx back to .ppt as PowerPoint can't figure out a ppt file with pptx extension.

@Adriani90
Copy link
Collaborator

@k_kolev1985 is this still reproducible with NVDA 2018.3 or with last beta or Alpha?

@k-kolev1985
Copy link

@Adriani90 My current observations are the same as the ones by @Qchristensen - I don't get any error beeps but simply that NVDA reads the full contents of any slide as soon as it loads, even if the contents are not yet shown visually. Nothing is read as I press spacebar, enter or page down to progressively show the bullet points on the slide.

Must be noted however, that many factors have changed since then: NVDA version, MS Office version, Windows version... Each of them (specially the different versions of NVDA and MS Office) may have an impact on the end result.

In conclusion: I now can read such slides, although be it each slide as a whole and not in steps as the elements of each slide appear visually on the screen. So, an improvement in NVDA's behavior in this aspect can be made, but it is acceptable even now as it is.

@Qchristensen
Copy link
Member

NVDA no longer gives errors as originally reported in this issue. The wider issue of NVDA reading all text of slides with text animations as soon as the slide is loaded, even though, for instance, each bullet point on the slide only appears as the spacebar is pressed, still exists. I will close this issue now, in favour of keeping further work and discussion on that topic in Issue #7877 which describes the technicalities of the issue in more depth.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants