I 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 Commenting Annotation] if you would like to target a specific part or region of the Canvas.
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
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
Annotation, and a
body property that contains the text of the comment or tag. The body itself can be an object with a
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
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
tagging. Be careful when using other motivations, IIIF viewers may only display Annotations with certain motivations.
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 Commenting Annotation]). Using a selector that selects the full Canvas area is a more universal pattern and may be better supported by IIIF clients.
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.