epubcheck
epubcheck copied to clipboard
Is navigation to data URLs allowed?
I have noticed that if you write an <a href="data:application/xhtml+xml;..."> link inside an EPUB, it will pass epubcheck but it will break quite a lot of readers. In the case of Apple Books, you will not be able to navigate back unless you trigger a relayout of the content.
I am trying to understand if this is a bug in the readers, a behaviour out of spec, or just a grey area. I gather that data URLs used in this way are implicitly disallowed by the spec, because you can't point to them in the manifest or in the table of contents. Can somebody please clarify? If this is non-compliant behaviour, then it should be checked by epubcheck, I suppose.
For context, LaTeXML produces EPUBs snippets of code embedded into data URLs, causing the problems I just mentioned.
Minimal example attached.
Thanks for the report, good question! As far as I can see this is allowed by the spec, but I may be wrong. What do you think @mattgarrish?
In any case, this issue may be better discussed in w3c/epub-specs.
Wouldn't this have to be an error because you can only navigate to publication resources that are listed in the spine (and by extension the manifest)?
The same applies to data URLs for embedding content. They also run afoul of publication resources having to be listed in the manifest.
We could certainly make this clearer in the spec, though.
This should be checked since #1412, but adding to the v5.0.0-rc milestone to double check.
Closing. This is now disallowed and reported by EPUBCheck.