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:
auditory
tactile
textual
visual
chartOnVisual
chemOnVisual
colorDependent
diagramOnVisual
mathOnVisual
musicOnVisual
textOnVisual
The 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:
auditory
tactile
textual
visual
The 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:
alternativeText
annotations
audioDescription
bookmarks
braille
captions
ChemML
describedMath
displayTransformability
displayTransformability/font-size
displayTransformability/font-family
displayTransformability/line-height
displayTransformability/word-spacing
displayTransformability/letter-spacing
displayTransformability/color
displayTransformability/background-color
highContrastAudio
highContrastAudio/noBackground
highContrastAudio/reducedBackground
highContrastAudio/switchableBackground
highContrastDisplay
index
largePrint
latex
longDescription
MathML
none
printPageNumbers
readingOrder
rubyAnnotations
signLanguage
structuralNavigation
synchronizedAudioText
tableOfContents
taggedPDF
tactileGraphic
tactileObject
timingControl
transcript
ttsMarkup
unlocked
Note 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:
flashingHazard
noFlashingHazard
motionSimulationHazard
noMotionSimulationHazard
soundHazard
noSoundHazard
unknown
none
The 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.