Presentation mode not working with screen reader
Reported by InclusiveOCW project since end April update:
After some time, I used slide wiki again to test my presentation with a
screenreader user. At our meeting we talked about the presentation mode. Before, it was only possible to go to the next slide with space bar, if I wanted to navigate in the slide content and read it with a Braille display.
Now, it is not possible at all. I can read the first slide, but when I use space bar to go to the second slide, the screenreader just reads the content, but without the possibilitiy to review and navigate with a
Braille display. I can then go to the next slide with arrow keys, but still without being able to access the content.
As our students are beginners, it is not enough for them to hear the content only once. They need to be able to move through the slide content in order to read in Braille or listen slowly. As it is now, I don't se a possibility to use presentations with blind students.
This was with FF and JAWs 18
This issue is caused by the need to have role=application within the presentation mode to allow all users to use keyboard shortcuts to control the presentation. This is a know issue with presentation slideshow tools (see
https://github.com/shower/shower/issues/220 for discussion of the same issue on an open source presentation library). Currently a screen reader user who was presenting with SlideWiki can use left/right or spacebar to move through the slides and will hear a summary of each slide when it loads.
Although not always consistent we have found the following behaviour with JAWS and IE/Firefox and with NVDA/FF.
on change of slide text content and slide notes are read aloud
using spacebar to change to the next slide. Focus goes to next slide button. Use tab to move focus to the slide number. Then H (JAWs command) which should take focus to the top of the slide and allow use of arrow keys to move through the slide content.
We are also looking into whether we can adapt the overview mode to provide a view without the application role which would show all the slides.
One addition has been made to reveal.js which may help is adding role="region" and aria-labelledby="[slide-title id]" to each section. This should allow screen reader users to get to the top of the slide if they can get their screen reader users using regions.
After testing I have found no means of improving the experience in the main presentation mode without breaking the controls for other users. This problem is because of lack of support for role=application by screen readers which is needed for the presentation controls.
This has been noted by other projects developing similar tools.
Propose that we make a few changes to the overview mode in order to make it possible to move through the slide content with a screen reader. This could either be in the existing overview mode or a new parallel mode so that it doesn't effect the usability of current mode. To do this we need to:
1. duplicate overview mode and rename in code
2. when in this mode aria-hidden should be set to "false" on ALL slides (currently dynamically changed when each slide receives focus
3. each section needs to have an aria-labelledby to the slide title (sections already have an id which matches the slide)
4. instructions for screen reader users should be added at the beginning of a presentation telling them how to launch this mode. Shortcut key that is not going to conflict with a screen reader.
If this is in a new mode then
1. CSS should be altered so that slides are displayed at full height of the browser.
2. remove slide forward/backwards controls
Following testing we have identified that this is a particular issue with FF but can occur in other browser. Looking at Reveal.js code can see that currently there is a function creating an ARIA-live announcement when user changes the slide (rows 520-540 of https://github.com/slidewiki/reveal.js/blame/master/js/reveal.js). But this does not include images and users need to be able to navigate through the content.
Also at the moment we have a number of additional issues:
InclusiveOCW is reporting that slides no longer move forward using space or arrow key. While we have removed some of the shortcuts keys, I don't think this is causing the problem as spacebar and arrow keys work when JAWs is not running. So I think this is being caused by our attempts to manage focus in the slide that still need to be resolved
Heading and Links are not being exposed to the screen reader (you can navigate directly to a heading using the JAWs shortcut key). This is because of spans with inline styles wrapping around the content.
if you do manage to get to the next slide button and move on a slide (possible in with some browser /screen reader combinations) then when enter the next slide, focus remains on the next slide button and you have to tab through the browser tab and back into the content to get back to the top. What we need is for focus to go to the top of the slide when the slide is changed.
We have attempted to use thee the accessibilitywrapper plugin at http://marcysutton.github.io/a11y-perf but caused issues. Current version of Reveal is creating an ARIA description that is read aloud on slide change that provides some support and hides content of previous and next slides in the DOM,