-
Notifications
You must be signed in to change notification settings - Fork 23
Description
We have done a lot of experiments on the best way to encode page breaks and tested with NVDA, JAWS, and Voice Over on a Mac. Seems there are a lot of inconsistent results. the use for example with aria-label on an element with role=doc-pagebreak is that on a Mac Voice Over only says "horizontal page break" and is not speaking the aria-label of the page number.
Here is the code which is giving a serious error in ACE.
<div><span epub:type="pagebreak" role="doc-pagebreak" aria-labelledby="p3" id="page_3"></span>
<span id="p3" aria-hidden="true" hidden="hidden">3</span>
<span aria-hidden="true" class="page-number">Page 3</span></div>
However, this code in HTML / XHTML has the following behavior.
JAWS says 'Page 3'
NVDA says '3 Separator'
Voice Over says 'horizontal page break 3'
Here the publisher wants visible "Page 3", but if we make that readable by AT we get double speaking of the word "Page" by JAWS i.e. "Page" (spoken for the role=doc-pagebreak, and "Page 3" from the visible page number.
This is why we have aria-hidden="true" on the visible element and came up with using aria-labelledby which is respected by all AT to speak the AT-ONLY "3" and still speak the role= doc-pagebreak.
aria-labelledby should also be allowed as a valid label for page numbers.
Thank you.