Use Case
You want to annotate a canvas with some text either as a comment or a tag. In this recipe we are annotating the full Canvas but see Simple Annotation — Tagging or Annotation with a Non-Rectangular Polygon if you would like to target a specific part or region of the Canvas.
Implementation Notes
Annotations for a Canvas are stored in the annotations
property of the Canvas in the form of an Annotation Page object containing a list of Annotation objects conforming to the W3C Web Annotation format.
The Annotation Page and the Annotations can either be embedded in the manifest (as in the example below) or referenced by providing just the URI of the external document containing the Annotation Page (see Embedded or Referenced Annotations).
The Annotation Page object must have the type
AnnotationPage
, an id
property containing a unique URI (that does not have to resolve), and an items
property containing a list with one or more Annotations.
The Annotations must have the type
Annotation
, and a body
property that contains the text of the comment or tag. The body itself can be an object with a type
of TextualBody
that contains the text in a value
property and specifies the format of the text string (e.g. text/plain
) in a format
property and the language (e.g. de
for German) in a language
property.
The Annotations must have a target
property that for a full Canvas Annotation contains only the URI of the Canvas and no additional fragments or selectors.
The Annotations should have a motivation
property that can contain different values specifiying the purpose of the Annotation. The W3C Web Annotation specification has a full list of motivations. Commonly used values are commenting
and tagging
. Be careful when using other motivations, IIIF viewers may only display Annotations with certain motivations.
Restrictions
The semantic of annotating the full Canvas as a whole can be specified by either using the Canvas URI without fragment or selector as in this example or by using a selector that selects the full area of the Canvas (see Simple Annotation — Tagging for a simple example of how to use a fragment selector). Using a selector that selects the full Canvas area is a more universal pattern and may be better supported by IIIF clients.
Example
This example Manifest contains an embedded Annotation containing the text “Göttinger Marktplatz mit Gänseliesel Brunnen” with the motivation commenting
targeting the whole Canvas. The Annotation is the single content of an Annotation Page contained in the annotations
property of the Canvas.
JSON-LD | View in Mirador | View in Annona | View in Glycerine Viewer | View in Theseus
Related Recipes
- Simple Annotation — Tagging for an Annotation using a fragment selector
- Annotation with a Non-Rectangular Polygon for an Annotation using a SVG selector
- Simplest Manifest - Image
- Simplest Manifest - Audio
- Simplest Manifest - Video
- Embedded or Referenced Annotations