The goal of this document is to provide directions that each implementation of Readium can follow when parsing schema.org Accessibility Metadata in EPUB publications. Its focus is the mapping of EPUB 2/3 to the internal Readium Publication model; serialization of the JSON Readium Web Publication Manifest is out of scope in this guidance document.
When parsing a publication in the streamer we always use the most complex form for each metadata to harmonize our output.
Related Repository: Readium Web Publication Manifest
References:
accessMode is a key whose value is an array of strings.
It is expected in a conformant EPUB publication (EPUB Accessibility 1.0 and EPUB Accessibility 1.1).
At the time of writing, known values are:
auditorytactiletextualvisualchartOnVisualchemOnVisualcolorDependentdiagramOnVisualmathOnVisualmusicOnVisualtextOnVisualThe array is created from the meta elements whose name attribute has the value schema:accessMode. The value of their content attribute is pushed to the array.
The array is created from the meta elements whose property attribute has the value schema:accessMode. Their value (i.e. child textual content) is pushed to the array.
accessModeSufficient is a key whose value is an array of arrays of strings.
The known values are:
auditorytactiletextualvisualThe array is created from the meta elements whose name attribute has the value schema:accessModeSufficient.
When the value of their content attribute is a single accessMode, make an array from the token and insert it into the accessModeSufficient array.
When it is a multiple:
,) separator;accessModeSufficient array.The array is created from the meta elements whose property attribute has the value schema:accessModeSufficient.
When their value is a single accessMode, make an array from the token and insert it into the accessModeSufficient array.
When it is a multiple:
,) separator;accessModeSufficient array.accessibilitySummary is a key whose value is a string.
The string is the value of the first meta element whose name attribute has the value schema:accessibilitySummary.
The string is the value of the first meta element whose property attribute has the value schema:accessibilitySummary.
certifiedBy is a key whose value is a string.
The string is the value of the first meta element whose name attribute has the value a11y:certifiedBy.
The string is the value of the first meta element whose property attribute has the value a11y:certifiedBy.
certifierCredential is a key whose value is a string
The string is the value of the first meta element whose name attribute has the value a11y:certifierCredential.
certifiedBy element that has been picked is refined by any meta whose property attribute has the value certifierCredential.meta element whose property attribute has the value certifierCredential.The string is the textual value of this meta element.
certifierReport is a key whose value is a string.
The string is the value of the first meta element whose name attribute has the value a11y:certifierReport.
certifiedBy element that has been picked is refined by any link whose rel attribute has the value a11y:certifierReport.certifiedBy is not refined by any suitable link, use the first link whose rel attribute has the value a11y:certifierReport.The string is the textual value of this link – the value is expected to be a URL.
conformsTo is a key whose value is an array of strings.
Values are likely to point to some version of the EPUB accessibility specification and some WCAG profile. Try to canonicalize the values to well-known URLs.
Replace any of the following strings with “http://www.idpf.org/epub/a11y/accessibility-20170105.html#wcag-a”:
Replace any of the following strings with “http://www.idpf.org/epub/a11y/accessibility-20170105.html#wcag-aa”:
Replace any of the following strings with “http://www.idpf.org/epub/a11y/accessibility-20170105.html#wcag-aaa”:
Put canonicalized values into the array. Drop the unknown ones.
The array is created from the meta elements whose name attribute has the value dcterms:conformsTo
and content attribute has a value matching any well-known accessibility profile.
The value of their content attribute is pushed to the array.
The array is created from the link elements whose rel attribute has the value dcterms:conformsTo
and href attribute is matching any well-known accessibility profile.
The value of their href attribute is pushed to the array.
accessibilityFeature is a key whose value is an array of strings.
It is expected in a conformant EPUB publication (EPUB Accessibility 1.0) and EPUB Accessibility 1.1).
At the time of writing, known values are:
alternativeTextannotationsaudioDescriptionbookmarksbraillecaptionsChemMLdescribedMathdisplayTransformabilitydisplayTransformability/font-sizedisplayTransformability/font-familydisplayTransformability/line-heightdisplayTransformability/word-spacingdisplayTransformability/letter-spacingdisplayTransformability/colordisplayTransformability/background-colorhighContrastAudiohighContrastAudio/noBackgroundhighContrastAudio/reducedBackgroundhighContrastAudio/switchableBackgroundhighContrastDisplayindexlargePrintlatexlongDescriptionMathMLnoneprintPageNumbersreadingOrderrubyAnnotationssignLanguagestructuralNavigationsynchronizedAudioTexttableOfContentstaggedPDFtactileGraphictactileObjecttimingControltranscriptttsMarkupunlockedNote the enumerated values are actually open-ended, due to the possible displayTransformability suffixes which map to CSS rules.
The array is created from the meta elements whose name attribute has the value schema:accessibilityFeature. The value of their content attribute is pushed to the array.
The array is created from the meta elements whose property attribute has the value schema:accessibilityFeature. Their value (i.e. child textual content) is pushed to the array.
accessibilityHazard is a key whose value is an array of strings.
It is expected in a conformant EPUB publication (EPUB Accessibility 1.0) and EPUB Accessibility 1.1).
At the time of writing, known values are:
flashingHazardnoFlashingHazardmotionSimulationHazardnoMotionSimulationHazardsoundHazardnoSoundHazardunknownnoneThe array is created from the meta elements whose name attribute has the value schema:accessibilityHazard. The value of their content attribute is pushed to the array.
The array is created from the meta elements whose property attribute has the value schema:accessibilityHazard. Their value (i.e. child textual content) is pushed to the array.