Support for Microsoft PowerPoint #501

Closed
nvaccessAuto opened this Issue Jan 1, 2010 · 18 comments

2 participants

@nvaccessAuto

Reported by filokas on 2009-12-07 09:24
When entering Microsoft Powerpoint and choose a blank presentation, Nvda doesn't say anything but the menus when I press the Alt keys. Nvda doesn't read the buttons on the window, so I can't: insert an image, for example. If I open an existing presentation, Nvda doesn't read it; I can't see it. Conclusion: Nvda is not accessible in Microsoft Powerpoint.

Blocked by #2895, #2896, #2900, #2905

@nvaccessAuto

Comment 1 by filokas on 2009-12-07 09:29
Changes:
Changed title from "Nvda doesn't fuction in micr5osoft powerpoint." to "Nvda doesn't function in microsoft powerpoint."

@nvaccessAuto

Comment 4 by fatma.mehanna on 2011-05-02 12:54
dear developers, is there any estimation for when you will have time to work on this ticket? thank you

@nvaccessAuto

Comment 5 by briang1 on 2011-05-13 07:53
I imagine, ideally, it might require a person with some sight to help develop this as it is inherently a visual piece of software.

Its part of Office I've steered clear of as it seems to me that there is now way a blind person is going to be able to create the sort of graphics I understand is possible with this program.
Maybe there are other presentation packages around more suited to us?

However there does seem to be a constantstream of requests for this to be at least accessible for textual use.

@nvaccessAuto

Comment 6 by hkatic (in reply to comment description) on 2012-02-27 08:45
I've confirmed it with both PowerPoint 2003 and PowerPoint 2010, with NVDA snapshot 5033. Title and subtitle placeholders are not announced, their edit fields are not possible to navigate, slide pane cannot be navigated because there's no speech feedback on selected slides. So it is even impossible for us to create presentations with NVDA. Additionally, I can only get some little feedback by using flat review.

@nvaccessAuto

Comment 7 by jteh on 2012-11-23 05:17
Changes:
Changed title from "Nvda doesn't function in microsoft powerpoint." to "Support for Microsoft PowerPoint"
Milestone changed from None to near-term

@nvaccessAuto

Comment 8 by ondrosik on 2012-12-21 08:08
Today I noticed, that it is sometimes possible to read slide in powerpoint 2003, but it sounds like Alchemi:
1) - open the presentation and press F5 to wiev it in a new window
2) Press NVDA+B and wait when it reads the system menu (minimize, maximize...)
3) Open the flat rewiev
4) You should see the current slide.
But for some reason i can't move between slides, space should work, but it seems, that it doesn't. The nvda+b is necessary, othervise you'll can not activate the flat review, maybe the quick way is to find a particular object.

@nvaccessAuto

Comment 9 by mdcurran on 2012-12-21 11:33
Started support for powerpoint in branch:
http://bzr.nvaccess.org/nvda/powerpoint

Support so far:

  • Only tested with Powerpoint 2010, though I'm only using the Office 2003 documentation thus it should be compatible with 2003.
  • Tracks the selection when moving between slides, shapes and text frames in normal mode (i.e. when editing).
    • Tracks the cursor in editable text frames (e.g. text in shapes and also the notes page).
    • Knows about groups, tables, graphics and other shapes.
    • Reads titles and alt text.
  • Does not yet support Reading mode (i.e. running slide shows).
  • Does not yet support detection of formatting such as font, color and positioning

When testing, Please note these useful Powerpoint key commands in Normal mode:

  • when on a slide, use up and down arrow to move between slides.
  • Use tab / shift+tab when on a slide or on a shape to move to the next/previous shapes on the slide.
  • Press f2 or enter to edit text in a shape
  • Press escape to stop editing text in a shape.

Finally some technical considerations:

  • To support Slide Show view, its necessary to walk through the shapes, tables and textFrames in a slide to collect all the text. This view is not navigable with the keyboard either. Is it worth doing a virtualBuffer here? or is collecting text in NVDAObject.basicText and using a cursorManager performant enough?
  • Should in-process code be used to implement reading within text frames if we need to collect formatting such as bullets?

Oddly Powerpoint's COM implementation seems a great deal faster than MS Word's.

@nvaccessAuto

Comment 10 by ondrosik on 2012-12-21 15:31
This sounds interesting, I'm wainting when the branch shows up on the snapshots website, if possible.

@nvaccessAuto

Comment 11 by mdcurran on 2012-12-24 03:18
changeset:powerpoint,5725 adds prototype support for the Slide show view. May be a bit slow, and no formatting yet.

@nvaccessAuto

Comment 12 by mdcurran on 2012-12-24 03:18
Snapshots are now available for the powerpoint branch at:
http://www.nvda-project.org/snapshots/

@nvaccessAuto

Comment 13 by ondrosik on 2012-12-24 10:21
It seems that in 2003 it doesn't work.
When I create a new presentation and try to navivgate by using tab and shift+tab, i get:
Input: kb(laptop):shift+tab
ERROR - eventHandler.executeEvent (11:09:29):
error executing event: gainFocus on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 136, in executeEvent
File "eventHandler.pyc", line 84, in init
File "eventHandler.pyc", line 91, in next
File "NVDAObjects__init__.pyc", line 823, in event_gainFocus
File "NVDAObjects__init__.pyc", line 767, in reportFocus
File "speech.pyc", line 317, in speakObject
File "speech.pyc", line 235, in speakObjectProperties
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in getPropertyViaCache
File "appModules\powerpnt.pyc", line 226, in get_name
File "core.pyc", line 42, in new__getattr

File "comtypes\client\dynamic.pyc", line 93, in getattr
File "comtypes\automation.pyc", line 643, in GetIDsOfNames
COMError: (-2147352570, 'Nezn\xe1my n\xe1zov.', (None, None, None, 0, None))

F2 for editing seems to work, e. g. I get and editfield, where I can type, but After closing it navigationn still doesn't work.

Also the reading produces a error sound
Input: kb(laptop):f5
IO - speech.speak (11:15:16):
Speaking [programu PowerPoint - ws_vnimanie.ppt']
ERROR - eventHandler.executeEvent (11:15:16):
error executing event: gainFocus on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 136, in executeEvent
File "eventHandler.pyc", line 84, in init
File "eventHandler.pyc", line 91, in next
File "appModules\powerpnt.pyc", line 153, in event_gainFocus
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in getPropertyViaCache
File "appModules\powerpnt.pyc", line 90, in get_selection
File "baseObject.pyc", line 34, in __get

File "baseObject.pyc", line 110, in getPropertyViaCache
File "appModules\powerpnt.pyc", line 85, in get_ppSelection
File "core.pyc", line 42, in new__getattr

File "comtypes\client\dynamic.pyc", line 93, in getattr
File "comtypes\automation.pyc", line 643, in GetIDsOfNames
COMError: (-2147352570, 'Nezn\xe1my n\xe1zov.', (None, None, None, 0, None))

Tested with snapshot 5725
PS: should I use this ticket to add coments to Powerpoint or it is better to create separate tickets as other users do?

@nvaccessAuto

Attachment k_kolev1985-nvda added by k_kolev1985 on 2012-12-24 16:02
Description:

@nvaccessAuto

Comment 14 by k_kolev1985 on 2012-12-24 16:03
Hello,

For me, the reading of slides doesn't work. Even after switching between the slideshow window and another window. I go to a .ppt file, invoke the context menu, and from it I choose "Show", to load the presentation file for reading. Am I doing it wrong?

I'm using the snapshot #5728 of the "PowerPoint" Branch, as a portable version. I'm running Windows 7 Ultimate SP1 in bulgarian. I'm also using MS Office 2007SP3 in bulgarian.

I'm attaching a log from NVDA. There were some error sounds from NVDA while I was trying to read the .ppt file in slideshow mode.

@nvaccessAuto

Comment 15 by mdcurran (in reply to comment 14) on 2012-12-25 14:00
Replying to k_kolev1985:

k_kolev1985: This should hopefully fixed for you in changeset:powerpoint,5730 if I have guessed right about the issue.
Though many other changes also, try the 5733 snapshot

@nvaccessAuto

Comment 16 by k_kolev1985 (in reply to comment 15) on 2012-12-25 15:08
Replying to mdcurran:

Replying to k_kolev1985:

k_kolev1985: This should hopefully fixed for you in changeset:powerpoint,5730 if I have guessed right about the issue.

Though many other changes also, try the 5733 snapshot

Hi, Unfortunately, this snapshot (r5733) doesn't work for me. It doesn't give errors, but it doesn't read anything either. When the presentation is opened for editing andthe focus is in the list of slides, NVDA doesn't read when the selection in the list changes. It doesn't read the currently selected slide name or number either. Also, when tabing around, it doesn't read the currently selected object in the presentation slide (but according to some visual indications on the screen, I can tell that the system focus is moving around the slide). And when in "reading" mode (pressing F5 in the editing mode or executing the "Show" command from the Explorer's context menu for that presentation), NVDA doesn't read any text in the presentation when it loads - it just announces the name of the window.

If necessary, I can provide you with a detailed log - just ask me and tell me on witch logging level should I set the log of NVDA.

@nvaccessAuto

Comment 17 by ondrosik on 2012-12-26 09:57
Snapshot 5734. I am able to read existing presentations (I tested it with some ppts, which I have here).
During editing i hear only "rectangle" followed by "obdlznik" which is a slovak translation for rectangle.
In the log there is nothing useful, just
Speaking 1'
IO - inputCore.InputManager.executeGesture (10:51:47):
Input: kb(laptop):tab
IO - speech.speak (10:51:47):
Speaking obdl\u017en\xedk'

@nvaccessAuto

Comment 18 by k_kolev1985 on 2012-12-26 09:58
The bug reported by me in comment #16 is fixed in PowerPoint snapshot r5734. Although i still have to Alt+TAB to another application and back in order for NVDA to recognize the slidshow and start reading it (in full-screen mode), it works perfectly after that. Thanks!

P.S.: Instead of Alt+Tabbing, the user may also press the "Applications" key to invoke the context menu for the slideshow, then press "Escape" to hide it, and then NVDA will start reading the slideshow.

@nvaccessAuto

Comment 19 by mdcurran on 2013-01-01 04:09
Powerpoint support as of so far, is now merged in 4828acd. New features, bug fixes and performence enhancements may be requested in separate tickets, but the minimal existing support is sufficient for a next release.

Changes:
Milestone changed from near-term to 2013.1
State: closed

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