docbook / xslTNG

DocBook xslTNG Stylesheets
https://xsltng.docbook.org
MIT License
42 stars 22 forks source link

incorporating DAISY/schema.org accessibility information #278

Open g-vidal opened 1 year ago

g-vidal commented 1 year ago

This issue may have also its place in docbook rather than in xslTNG only but I prefer to start from the goal as various strategies are probably possible to reach the goal.

Our target is to obtain an e-pub3 populated with accessibility metadata described on this page at Daisy.org using vocabularies and structures from CreativeWork at schema.org. Ongoing work is located on github w3c/a11y-discov-vocab.

Here is a short example (of package.opf ?) extracted from Daisy.

<metadata>
  <meta property="schema:accessibilitySummary">
     This publication conforms to WCAG 2.0 Level AA.
  </meta>
  <meta property="schema:accessMode">textual</meta>
  <meta property="schema:accessMode">visual</meta>
  <meta property="schema:accessModeSufficient">textual</meta>
  <meta property="schema:accessibilityFeature">structuralNavigation</meta>
  <meta property="schema:accessibilityHazard">noFlashingHazard</meta>
  …
</metadata>

First of all my feeling is that we need to have in the schema a namespace for the subpart of schema.org used for accessibility. . Using schema as namespace as suggested by Daisy looks like a bad practice (?). My proposal should be to use a11y =accessibility as quoted in our example, because we just need the subpart of schema.org and will prevent messing up with other schema.org entities

<?xml-model href="http://docbook.org/xml/5.2/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?><?xml-model href="http://docbook.org/xml/5.2/rng/docbook.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<book xmlns="http://docbook.org/ns/docbook" xmlns:a11y="https://schema.org/CreativeWork"
   xmlns:xlink="http://www.w3.org/1999/xlink" version="5.2" xml:lang="fr">
   <info>
      <title>Livre Minimal</title>
      <subtitle>Modèle DocBook 5.2 avec accessibilité</subtitle>
.../...
      <meta property="a11y:accessMode">textual</meta>
      <meta property="a11y:accessibilitySummary">This publication meets the requirements of WCAG 2.0
         AA partially WCAG 2.0 A and e-pub accessibility</meta>
      <meta property="a11y:accessModeSufficient">textual</meta>
   </info>
.../...

As soon as the attribute and vocabularies are available the XSL should detect this family of meta tags and treat them properly. It seems that such <meta> tag has to appear in package.opf and probably all xhtml files to specify the values given for each part/chapter depending on its content (audio, video, images,...). The proposed structure above is just a proposal inspired fromDaisy.

ndw commented 1 year ago

That seems plausible. Might need a parameter to identify which namespace(s) you want copied from the source into the HTML/EPUB.

g-vidal commented 1 year ago

xmlns:a11y="https://schema.org/CreativeWork" might be introduced in DocBook schema to introduce the in the xml the <meta> with the vocabulary from scheme than teh namespace should be copied by default.

OOOOOPS ! This is amistake , ACE epub3 validator checks that the attributes have the form schema:accessMode then for epub transformation we need to produce <meta> tags with schema shhortcut for "https://schema.org/CreativeWork" namespace.

ndw commented 1 year ago

Surely that's broken behavior on that validator. The whole point of the indirection mechanism is to decouple the prefix used in the short name from the URI.