-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to support Structural Navigation #2320
Comments
Related: IIIF/cookbook-recipes#28 |
Hi, @brittnylapierre - Thanks for creating the new issue. This is useful for documenting some of the use cases that we should be thinking about for Presi 4 and accessibility. It might be helpful if you could begin the use case with a bit more about what you are trying to achieve and why, more of the problem you are trying to solve rather that the proposed solution. For example, is this to assist screen readers? How is this meant to enhance accessibility? |
Thank you! I will edit it - but for a short answer it is for screen reader accessibility, yes :) |
Questions:
|
Desired outcome of having this data in a manifest Enable IIIF viewer developers to provide a universal experience of exploring IIIF content, regardless of a user's mode of access. (Ideally, having content rendered as hierarchical, accessible HTML with text-based data.) All of this background info results in people using screen readers having to download a tagged PDF to access the content in manifests for library and archive print materials, instead of being able to use the content from object pages on access websites directly in IIIF viewers, like other users. What is the ideal way for IIIF to support very detailed, hierarchical, screen reader friendly representations of IIIF images within manifests? What functionality does tagged PDFs give with a screen reader? About screen readers:
Through IIIF, some adopters currently use ranges for table of contents ability, and annotations created from OCR and AI solutions for displaying content of their IIIF images in screen readable text. Some adopters also use the rendering field to provide alternative representations of their content, for example, tagged PDFs. Tagged PDFs are very labor intensive to produce, and still not as ideal as HTML for screen reader technology. With all of their faults, tagged PDFs, similar to current annotation based OCR-correction workflows, offer digitization librarians GUI based technologies to do their tagging and text correction, and that is why they are commonly used. Tagged PDFs are also used for accessible representations, because in theory, they provide the following:
An interesting thing to note is that tags in PDFs do not alter the visual appearance but augment a structure in PDFs to make them more compatible with assistive technologies. Essentially, tagged PDFs are PDFs which are marked up with HTML-like tags for screen reader compatibility. More on tagged PDFs. To read more about how AI is being used to create document structures in scanned images and PDFs, see: Azure Doc Layout Intelligence Most AI services are similar to this. What would happen if there are two table of contents one for chapters and one for accessibility? For this question, I think we would need a way for tools developers to know which one was which, to handle them differently in their GUI. I think someone during the meeting we had discussed the possibility of adding the 'provides' property to ranges in V4, since the accessibilityFeatures property on schema.org supports both table of contents and structured navigation. Other thoughts/considerations Some things IIIF API creators could consider when thinking about how to support the functionality tagged PDFs provide to end users, natively in IIIF are…
Other pain-points for current range and annotation based solutions include the following:
More IIIF Considerations I can think of/were discussed when we met:
Related cookbooks
Thank you! I hope this helps provide more background and context (and not too much all at once!) If the spec writers want to have a Q/A with people who are deep into the accessibility space for print materials let me know and I can also arrange one to support these efforts. |
My naive understanding given the above, the use case is: As a visually challenged user, I want to be able to navigate the textual content depicted in images in a manifest in a different way to a fully sighted user and in particular being able to navigate via parts of the full text down to the individual paragraph level, in order to have a better experience of the content. The full text content currently lives in annotations that are rendered somehow by the viewer. There's no requirements for any full text, nor the granularity of the text per annotation (hence the text granularity work previously). Also, annotations can have HTML bodies, either embedded or by reference to an external resource with its own URI. Those bodies can be as complex as desired. That would then allow a screen reader to have full access to all of the accessibility features within the HTML without requiring a change to the IIIF navigation. A sighted user would also benefit from the more functional bodies of the annotations (one imagines). So I'm not sure that there's anything that needs to be done in the specs to allow content based navigation, if I've understood correctly? The HTML elements/tags can and should be updated to make the embedded content more accessible (in a different issue) as that would affect more than just the navigation or the content, but also descriptions and other content within the manifest. Note also that it does NOT affect the body of annotations, which can contain anything you want. In particular the spec says:
Conversely, I would be hesitant to try to duplicate full text content into the navigation structure (per the second screenshot) as for most full text content that would bulk out the manifest to an unusable level. The same reason that we don't include the full text of the items as annotations within the manifest directly. |
Thank you @azaroth42! The way you articulated the user need is correct. I think you've covered my uncertainties/questions with your response. I am happy to know that annotation body HTML can be as complex as needed. This fact, plus the pagination features of annotation collections, and the use of annotations in current transcription tools, makes it clear at least to me, that annotations are the way to go to provide structural navigation of documents modeled through IIIF. Then I think for accessibility based best practices - we can suggest: Using ranges to create a table of contents for the entire document structure, and using HTML annotations to create paginated, structured mark up representations of the document. Thanks again, if there are no other opinions on the matter I think this issue could be marked as resolved and closed! |
Edit: This issue was moved from the Cookbook Recipes repo. We are looking for technical specifications writers to help us determine the best solution in the IIIF context for detailed structural navigation. See the big comment I added for detailed context: #2320 (comment)
Recipe Name
Structural navigation using Ranges: 2 Ways
Use case
You can enhance your manifest by adding Ranges that reference specific parts of canvases. By using the label field to describe these references with text, you can create structured navigation similar to a tagged PDF.
Learn more about structural navigation here.
Way 1: Attaching Annotations to a Range via a supplementary AnnotationCollection
Example manifest: https://upcdn.io/kW15cD4/raw/html-annots-3-anns-in-range1.json
Pros
Cons
Example of what the viewers should support - displaying annotations with the range titles:
Way 2: Using ranges with label fields, referencing positional canvas URLs
Example manifest: https://upcdn.io/kW15cD4/raw/partial-ranges-nav.json
Pros
Cons
Theseus screenshot:
The text was updated successfully, but these errors were encountered: