Determining/Setting H5P Tab Order for Screen Readers

Hi everyone,

Question/quasi-suggestion follows:  

Is there any way to determine, set or alter the tab order of content types placed in a multi-layer capable app (e.g., Course Presentation), to make sure that learners who use screen readers take in the content on a multi-layered slide in a logical or at least, designer-determined order?  At least one content type that I know of (Image Hotspots) does seem to allow customization of the tab order by the designer.

Yet, if I design a Course Presentation slide with several elements on it (e.g., text, video, quiz, etc.), would a screen reader like JAWS or NVDA start at the bottom-most layer item or the top-most layer item?  Since layered items can only be sent to the front or to the back of the layer stack, and we do not have a way of determining the overall tab order of all the elements, how can we know the order in which a screen reader will go through the elemtns when the screen reader's user tabs through the content?

The quasi-suggestion, if it does not already exist, is to add the capability to set custom tab orders to the basic content editors for multi-layer capable content types such as Course Presentation (for each slide); OR, add a field to the individual editors of the elements that can be layered on a slide such text, quiz, multimedia types,  so that a designer has finer control over their tab order in the overall design;  the point being to improve screen reader usability.

I hope my questions make sense and do realize that as a suggestion, it might be a big "ask", but screen reader software should be able to read the elements of H5P content types in logical order to improve their usability.

Thanks in advance,

Content types: 
Supporter votes Members of the Supporter Network can vote for feature requests. When the supporter network has generated sufficient funding for the top voted feature request it will normally be implemented and released. More about the H5P Supporter Network
BV52's picture

Hi ormjr,

Your question and suggestions makes perfect sense ;-)

I tried testing this using Chromevox and I determined that it reads first the bottom layer. Having said this without changing the layer of the objects in CP the most recently created is automatically placed on top. I know creating a content is not as simple as creating the 1st one you want  in the order but I least we have something to start with.

I've also moved your post to the feature request forum and thanks a lot for contributing your ideas on how to make H5P better! We’re now working on something called the H5P supporter program allowing the H5P community to vote for and fund the top voted H5P features. Also there are developers in the community who every now and then works on a feature they find interesting or useful.


Hi BV52.  Thanks for the quick response and taking the time to look into it a bit.  Good info that you provided regarding how CP layers things now.  I appreciate the move to the feature request forum too; hope it gains traction.