Readium Logo

Parsing Accessibility Metadata

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

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:

EPUB 2.x

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.

EPUB 3.X

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

accessModeSufficient is a key whose value is an array of arrays of strings.

The known values are:

EPUB 2.x

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:

EPUB 3.X

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:

AccessibilitySummary

accessibilitySummary is a key whose value is a string.

EPUB 2.x

The string is the value of the first meta element whose name attribute has the value schema:accessibilitySummary.

EPUB 3.X

The string is the value of the first meta element whose property attribute has the value schema:accessibilitySummary.

CertifiedBy

certifiedBy is a key whose value is a string.

EPUB 2.x

The string is the value of the first meta element whose name attribute has the value a11y:certifiedBy.

EPUB 3.X

The string is the value of the first meta element whose property attribute has the value a11y:certifiedBy.

CertifierCredential

certifierCredential is a key whose value is a string

EPUB 2.x

The string is the value of the first meta element whose name attribute has the value a11y:certifierCredential.

EPUB 3.X

The string is the textual value of this meta element.

CertifierReport

certifierReport is a key whose value is a string.

EPUB 2.x

The string is the value of the first meta element whose name attribute has the value a11y:certifierReport.

EPUB 3.X

The string is the textual value of this link – the value is expected to be a URL.

ConformsTo

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.

EPUB 2.x

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.

EPUB 3.X

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

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:

Note the enumerated values are actually open-ended, due to the possible displayTransformability suffixes which map to CSS rules.

EPUB 2.x

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.

EPUB 3.X

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.

AcessibilityHazard

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:

EPUB 2.x

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.

EPUB 3.X

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.