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
- most OCR/pdf to IIIF manifest workflows create annotations
- paging abilities
- can make HTML annotations for rendering (HTML is a very accessible format)
Cons
- It looks like viewers aren't set up to display the supplementary annotations under the range titles like how tagged PDFs display structured nav
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
- simpler to set up
- supported by viewers already
Cons
- current ocr and pdf->manifest workflows usually use annotations to transcribe text
Theseus screenshot:

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:
