From 2e8b0fdcefb9d23e415ead1851db1e6c5d60ce4c Mon Sep 17 00:00:00 2001 From: Dawn Childress Date: Wed, 14 Jan 2026 09:23:45 -0800 Subject: [PATCH 1/2] add accessibility section --- source/presentation/4.0/index.md | 46 +++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/source/presentation/4.0/index.md b/source/presentation/4.0/index.md index 824934f97..2dfe24537 100644 --- a/source/presentation/4.0/index.md +++ b/source/presentation/4.0/index.md @@ -2592,13 +2592,53 @@ Responses _SHOULD_ be compressed by the server as there are significant performa # Accessibility -(new section) +Some IIIF resources have associated resources, such as closed-caption files for video, audio descriptions for images, or tactile graphics for visual materials, that improve access to the content for a wider range of users. These linked resources play a specific accessibility-related role relative to the resource they describe or supplement. [add fwd ref above in subtitles use case] -`provides` -`provides[]` +IIIF uses the `provides` property on supplementing annotations to define the specific accessibility functionality that a linked resource enables for its target, describing why and how a client might use it rather than what the resource is by type or format. For example, a text file linked from a video might provide closedCaptions, or an audio file associated with a Canvas might provide an audioDescription. +The value of provides _MUST_ be an array of strings. Each string _MUST_ be taken from the IIIF Provides registry (or the table of defined values in the model doc?). +Annotations MAY include the provides property only when the annotation has the supplementing motivation. +Clients SHOULD ignore the provides property on resources with any other motivation. +```json + "annotations": [ + { + "id": "https://example.org/iiif/presentation/examples/manifest-with-movie/subtitles", + "type": "AnnotationPage", + "items": [ + { + "id": "https://example.org/iiif/presentation/examples/manifest-with-movie/subtitles/anno", + "type": "Annotation", + "motivation": "supplementing", + "body": { + "id": "https://example.org/text/subtitles.vtt", + "type": "Text", + "format": "text/vtt", + "provides": [ "subtitles" ], + "label": { + "en": [ + "Subtitles in WebVTT format" + ] + }, + "language": "en" + }, + "target": "https://example.org/iiif/presentation/examples/manifest-with-movie/canvas" + } + ] + } + ] +``` + +**Key Points** +* +{: .note} + +!!! warning TODO: The above should be a green class rgb(244,252,239) to distinguish from properties + +__Definitions__
+Properties: [provides](#model/provides) +{: .note} From 8dcf66199c5c17921f2657f5bbf5f60dfe1a2c49 Mon Sep 17 00:00:00 2001 From: Dawn Childress Date: Wed, 14 Jan 2026 14:59:23 -0800 Subject: [PATCH 2/2] update accessibility, add accessibility registry, update links --- source/_includes/links.md | 2 + source/presentation/4.0/index.md | 53 ++++++--------- source/registry/accessibility/index.md | 94 ++++++++++++++++++++++++++ source/registry/index.md | 1 + 4 files changed, 119 insertions(+), 31 deletions(-) create mode 100644 source/registry/accessibility/index.md diff --git a/source/_includes/links.md b/source/_includes/links.md index 6c0e773e8..4d484bdff 100644 --- a/source/_includes/links.md +++ b/source/_includes/links.md @@ -279,6 +279,7 @@ [navPlace]: {{ site.api_url | absolute_url }}/extension/navplace/ [georeference]: {{ site.api_url | absolute_url }}/extension/georef/ [registry]: {{ site.api_url | absolute_url }}/registry/ "IIIF Extension Registry" +[registry-accessibility]: {{ site.api_url | absolute_url }}/registry/accessibility/ [registry-activity-streams]: https://registry.iiif.io/ "IIIF Registry of Activity Streams" [registry-motivations]: {{ site.api_url | absolute_url }}/registry/motivations/ [registry-behaviors]: {{ site.api_url | absolute_url }}/registry/behaviors/ @@ -304,5 +305,6 @@ [recipe-process]: {{ site.cookbook_url | absolute_url }}/recipe/ "Cookbook process" [recipe-mvm-image]: {{ site.cookbook_url | absolute_url }}/recipe/0001-mvm-image/ "Simplest Manifest - Image" [recipe-segment-image-part]: {{ site.api_url | absolute_url }}/cookbook/segment-image-part/ "Annotating part of an image to a canvas" +[schema-accessibility]: https://www.w3.org/community/reports/a11y-discov-vocab/CG-FINAL-vocabulary-20241209/#accessibilityFeature-vocabulary "Accessibility Properties for Discoverability Vocabulary" [slack]: http://bit.ly/iiif-slack [web-arch]: http://www.w3.org/TR/webarch/ "Architecture of the World Wide Web" diff --git a/source/presentation/4.0/index.md b/source/presentation/4.0/index.md index b96240e31..402131a56 100644 --- a/source/presentation/4.0/index.md +++ b/source/presentation/4.0/index.md @@ -998,7 +998,7 @@ This example is a Manifest with two Timelines, each of which represent a tempora > **Key Points** -* t vs. instant / verbose vs. append to URI??? +* In the external annotation for the song lyrics, we append `#t=3.5,6.8` to the target URI to define the temporal extent in the target timeline that corresponds to the song lyric. {: .note} !!! warning TODO: The above should be a green class rgb(244,252,239) to distinguish from properties @@ -1102,11 +1102,11 @@ This example is a Manifest with one Canvas that represents the temporal extent o "id": "https://example.org/iiif/presentation/examples/manifest-with-movie/subtitles/anno", "type": "Annotation", "motivation": "supplementing", + "provides": [ "subtitles" ], "body": { "id": "https://example.org/text/subtitles.vtt", "type": "Text", "format": "text/vtt", - "provides": [ "subtitles" ], "label": { "en": [ "Subtitles in WebVTT format" @@ -2640,46 +2640,37 @@ Responses _SHOULD_ be compressed by the server as there are significant performa # Accessibility -Some IIIF resources have associated resources, such as closed-caption files for video, audio descriptions for images, or tactile graphics for visual materials, that improve access to the content for a wider range of users. These linked resources play a specific accessibility-related role relative to the resource they describe or supplement. [add fwd ref above in subtitles use case] +Some IIIF resources have associated resources, such as closed-caption files for video, audio descriptions for images, or tactile graphics for visual materials, that improve access to the content for a wider range of users. These linked resources play a specific accessibility-related role relative to the resource they describe or supplement. See [A/V Use Case 5: Movie with subtitles](link to section) above. IIIF uses the `provides` property on supplementing annotations to define the specific accessibility functionality that a linked resource enables for its target, describing why and how a client might use it rather than what the resource is by type or format. For example, a text file linked from a video might provide closedCaptions, or an audio file associated with a Canvas might provide an audioDescription. -The value of provides _MUST_ be an array of strings. Each string _MUST_ be taken from the IIIF Provides registry (or the table of defined values in the model doc?). +The value of provides _MUST_ be an array of strings. Each string _MUST_ be taken from the [IIIF Registry of Accessibility Values][schema-accessibility]. Annotations MAY include the provides property only when the annotation has the supplementing motivation. Clients SHOULD ignore the provides property on resources with any other motivation. ```json - "annotations": [ - { - "id": "https://example.org/iiif/presentation/examples/manifest-with-movie/subtitles", - "type": "AnnotationPage", - "items": [ - { - "id": "https://example.org/iiif/presentation/examples/manifest-with-movie/subtitles/anno", - "type": "Annotation", - "motivation": "supplementing", - "body": { - "id": "https://example.org/text/subtitles.vtt", - "type": "Text", - "format": "text/vtt", - "provides": [ "subtitles" ], - "label": { - "en": [ - "Subtitles in WebVTT format" - ] - }, - "language": "en" - }, - "target": "https://example.org/iiif/presentation/examples/manifest-with-movie/canvas" - } - ] - } - ] +"annotations": [ + { + "id": "https://example.org/iiif/presentation/examples/manifest-with-movie/subtitles", + "type": "AnnotationPage", + "items": [ + { + "id": "https://example.org/iiif/presentation/examples/manifest-with-movie/subtitles/anno", + "type": "Annotation", + "motivation": "supplementing", + "provides": [ "alternativeText" ], + "body": {...}, + "target": "https://example.org/iiif/presentation/examples/manifest-with-movie/canvas" + } + ] + } +] ``` **Key Points** -* +* The `provides` property is placed on the annotation and not on the target of the annotation. +* The property is primarly used to define accessibility features, but can be used to define other types of functionality, such as `transcription`. {: .note} !!! warning TODO: The above should be a green class rgb(244,252,239) to distinguish from properties diff --git a/source/registry/accessibility/index.md b/source/registry/accessibility/index.md new file mode 100644 index 000000000..f0b29fc91 --- /dev/null +++ b/source/registry/accessibility/index.md @@ -0,0 +1,94 @@ +--- +title: Registry of Accessibility Values +layout: spec +tags: [annex, service, services, specifications] +cssversion: 2 +editors: + - name: Michael Appleby + ORCID: https://orcid.org/0000-0002-1266-298X + institution: Yale University + - name: Dawn Childress + ORCID: https://orcid.org/0000-0003-2602-2788 + institution: UCLA + - name: Tom Crane + ORCID: https://orcid.org/0000-0003-1881-243X + institution: Digirati + - name: Jeff Mixter + ORCID: https://orcid.org/0000-0002-8411-2952 + institution: OCLC + - name: Robert Sanderson + ORCID: https://orcid.org/0000-0003-4441-6852 + institution: Yale University + - name: Julie Winchester + ORCID: https://orcid.org/0000-0001-6578-764X + institution: Duke University +--- + +## Status of this Document +{:.no_toc} + +This document is not subject to [semantic versioning][notes-versioning]. +Changes will be tracked within the document. + +**Editors:** + +{% include api/editors.md editors=page.editors %} + +{% include copyright.md %} + +## Abstract +{:.no_toc} +This document lists a set of allowed values for the Presentation API `provides` property that have been identified as useful for implementations, especially related to accessibility. They may be defined by the IIIF community, or outside of it. + +Please send feedback to [iiif-discuss@googlegroups.com][iiif-discuss] + + +## 1. Introduction + +This is one of a number of [IIIF registries][registry]. It lists a set of allowed values for the Presentation API `provides` property that have been identified as useful for implementations, especially related to accessibility. They may be defined by the IIIF community, or outside of it. + +### 1.1. Disclaimer + +The inclusion of entries in this document that are outside of the IIIF domain _MUST NOT_ be interpreted as endorsement, support, or approval from the editors, the IIIF community or any individual. This annex is provided as a registry to advertise the existence of these extensions and attempt to ensure some consistency between implementations for common but not universal requirements. + +### 1.2. Inclusion Process + +The process for having a new entry added to this registry is [described here][registry-process]. + +## 2. Requirements for Inclusion + +## 3. Registry + +This table summarizes the known values available for use with the [Presentation API][prezi-api] `provides` propery, which defines accessibility functionality that a linked resource enables for its target, describing why and how a client might use it rather than what the resource is by type or format. The current approved values are defined by Schema.org's [Accessibility Properties for Discoverability Vocabulary][schema-accessibility] and the IIIF Community. + +| Value | Description | Source | +| ------------------------------ | | +| `closedCaptions` | ... | Schema.org | +| `alternativeText` | ... | Schema.org | +| `audioDescription` | ... | Schema.org | +| `longDescription` | ... | Schema.org | +| `signLanguage` | ... | Schema.org | +| `highContrastAudio` | ... | Schema.org | +| `highContrastDisplay` | ... | Schema.org | +| `braille` | ... | Schema.org | +| `tactileGraphic` | ... | Schema.org | +| `transcript` | ... | Schema.org | +| `translation` | ... | IIIF | +| `subtitles` | ... | IIIF | +{: .api-table} + + +## Appendices + +### A. Acknowledgements + +Thanks to the members of the [IIIF][iiif-community] for their continuous engagement, innovative ideas and feedback. + +### B. Change Log + +| Date | Description | +| ---------- | -------------------------------------------------- | +| 2026-XX-YY | New Version 4 Registries | + +{% include acronyms.md %} +{% include links.md %} diff --git a/source/registry/index.md b/source/registry/index.md index e58f28193..29c0d0e4f 100644 --- a/source/registry/index.md +++ b/source/registry/index.md @@ -13,6 +13,7 @@ The process for having an entry included in one of the IIIF extension registries ## Presentation API Registries +* [Accessibility Terms][registry-accessibility] * [Behaviors][registry-behaviors] * [Presentation API Extensions][extensions] * [Motivations][registry-motivations]