Skip to content

Page #'s being reported as Errors using aria-labelledby #430

@clapierre

Description

@clapierre

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions