-
Notifications
You must be signed in to change notification settings - Fork 407
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
improve checks of package links #1466
Conversation
This commit introduces a new error message (`OPF-098`) to report `href` attributes containing a URL to package document elements. This implements a check for the following specification statement: > The URL string MUST NOT reference resources via elements in the package document
@@ -213,7 +213,8 @@ OPF_094=The "media-type" attribute is required for "%1$s" links. | |||
OPF_095=The "media-type" attribute of "voicing" links must be an audio MIME type, but found "%1$s". | |||
OPF_096=Non-linear content must be reachable, but found no hyperlink to "%1$s". | |||
OPF_096b=No hyperlink was found to non-linear document "%1$s", please check that it can be reached from scripted content. | |||
OPF_097=Resource "%1$s" is listed in the manifest, but no reference to it was found in content documents. | |||
OPF_097=Resource "%1$s" is listed in the manifest, but no reference to it was found in content documents. | |||
OPF_098=The "href" attribute must not reference resources via elements in the package document itself, but found URL "%1$s". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor nit, but could this be explained as a must:
OPF_098=The "href" attribute must not reference resources via elements in the package document itself, but found URL "%1$s". | |
OPF_098=The "href" attribute must reference resources, not elements in the package document, but found URL "%1$s". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I copied the language from the spec 🙂, but I agree your suggested wording makes more sense.
At some point it would be nice to have the time to go over all the messages and try to do some copyediting to harmonize the language and tone… but well, that's for another version!
74871c6
to
aaed7bb
Compare
This commit checks that the linked resource is not in the spine before reporting `OPF-067` ("The resource "…" must not be listed both as a "link" element in the package metadata and as a manifest item."). Effectively, this allows package links to publication resources in the two cases identified in the EPUB 3.3 specification: > Resources referenced from the link element are publication resources > only when they are: > - referenced from the spine; or > - included or embedded in an EPUB content document Fix #1454
aaed7bb
to
54b5f1f
Compare
--------------------- Add `plaintext-only` value to `contenteditable` attribute validator/validator@228ea687b Co-authored-by: Niedziolka Michal <[email protected]> --------------------- add warnings for deprecated ARIA attributes (#1560) validator/validator@e61fbeb2c Co-authored-by: Steve Faulkner <[email protected]> --------------------- disallow aria attributes on datalist (#1557) validator/validator@b4849c04b Co-authored-by: Steve Faulkner <[email protected]> --------------------- allow role=button on area validator/validator@89ff1fc2b Co-authored-by: stevefaulkner <[email protected]> --------------------- fix: allow -1 for aria-colcount validator/validator@2466e73c4 Co-authored-by: Nick Schonning <[email protected]> --------------------- fix: Allow -1 for aria-rowcount validator/validator@eac205b6b Co-authored-by: Nick Schonning <[email protected]> --------------------- Add `fetchpriority` attribute validator/validator@7c9991405 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Script type importmap (#1478) validator/validator@4054c56f5 Co-authored-by: Michał Niedziółka <[email protected]> --------------------- Move “manifest” attribute to legacy-attributes list validator/validator@175e62d3a Co-authored-by: Michael[tm] Smith <[email protected]> --------------------- Pointer Events (#1481) validator/validator@5eb52a931 Co-authored-by: Michał Niedziółka <[email protected]> --------------------- Report a better error message for obsolete “manifest” attribute validator/validator@ae924b625 Co-authored-by: Michael[tm] Smith <[email protected]> --------------------- onscrollend validator/validator@87287a97f Co-authored-by: Niedziolka Michal <[email protected]> --------------------- slot element validator/validator@d6cf423c1 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Allow paragraphs in hgroup (#1467) validator/validator@3ff53973f Co-authored-by: Michał Niedziółka <[email protected]> --------------------- blocking="render" (#1466) validator/validator@df5d4e23a Co-authored-by: Michał Niedziółka <[email protected]> --------------------- inert validator/validator@507f551b2 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- hidden=until-found validator/validator@a424d55a8 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- media attribute in meta element validator/validator@af3e94d22 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Sync event handlers validator/validator@58bea51c7 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Remove manifest attribute validator/validator@66510f3ca Co-authored-by: Niedziolka Michal <[email protected]> --------------------- enterkeyhint validator/validator@70f3044d7 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Form method dialog (#1443) validator/validator@0db229a44 Co-authored-by: Michał Niedziółka <[email protected]> --------------------- imagesrcset and imagesizes in link (#1444) validator/validator@49656dbfc Co-authored-by: Michał Niedziółka <[email protected]> --------------------- feat: add support width and height of source in picture validator/validator@176d98e4f Co-authored-by: Takeshi Kurosawa <[email protected]> --------------------- Update: allow none/presentation on nav element (#1323) validator/validator@5e25edb39 Co-authored-by: Scott O'Hara <[email protected]> --------------------- Update schema/html5/web-forms.rnc validator/validator@95ba6c7cf Co-authored-by: Michael[tm] Smith <[email protected]> --------------------- update role allowances for button and input type=button validator/validator@6cc14c4d7 Co-authored-by: Scott O'Hara <[email protected]> --------------------- adds role=radio alowance to img alt=foo validator/validator@b013aa02b Co-authored-by: Scott O'Hara <[email protected]> --------------------- remove deprecated dpub role allowances validator/validator@b0fb152c0 Co-authored-by: Scott O'Hara <[email protected]> --------------------- allow section element to have role=group validator/validator@078341d37 Co-authored-by: Scott O'Hara <[email protected]>
--------------------- Add `plaintext-only` value to `contenteditable` attribute validator/validator@228ea687b Co-authored-by: Niedziolka Michal <[email protected]> --------------------- add warnings for deprecated ARIA attributes (#1560) validator/validator@e61fbeb2c Co-authored-by: Steve Faulkner <[email protected]> --------------------- disallow aria attributes on datalist (#1557) validator/validator@b4849c04b Co-authored-by: Steve Faulkner <[email protected]> --------------------- allow role=button on area validator/validator@89ff1fc2b Co-authored-by: stevefaulkner <[email protected]> --------------------- fix: allow -1 for aria-colcount validator/validator@2466e73c4 Co-authored-by: Nick Schonning <[email protected]> --------------------- fix: Allow -1 for aria-rowcount validator/validator@eac205b6b Co-authored-by: Nick Schonning <[email protected]> --------------------- Add `fetchpriority` attribute validator/validator@7c9991405 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Script type importmap (#1478) validator/validator@4054c56f5 Co-authored-by: Michał Niedziółka <[email protected]> --------------------- Move “manifest” attribute to legacy-attributes list validator/validator@175e62d3a Co-authored-by: Michael[tm] Smith <[email protected]> --------------------- Pointer Events (#1481) validator/validator@5eb52a931 Co-authored-by: Michał Niedziółka <[email protected]> --------------------- Report a better error message for obsolete “manifest” attribute validator/validator@ae924b625 Co-authored-by: Michael[tm] Smith <[email protected]> --------------------- onscrollend validator/validator@87287a97f Co-authored-by: Niedziolka Michal <[email protected]> --------------------- slot element validator/validator@d6cf423c1 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Allow paragraphs in hgroup (#1467) validator/validator@3ff53973f Co-authored-by: Michał Niedziółka <[email protected]> --------------------- blocking="render" (#1466) validator/validator@df5d4e23a Co-authored-by: Michał Niedziółka <[email protected]> --------------------- inert validator/validator@507f551b2 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- hidden=until-found validator/validator@a424d55a8 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- media attribute in meta element validator/validator@af3e94d22 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Sync event handlers validator/validator@58bea51c7 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Remove manifest attribute validator/validator@66510f3ca Co-authored-by: Niedziolka Michal <[email protected]> --------------------- enterkeyhint validator/validator@70f3044d7 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Form method dialog (#1443) validator/validator@0db229a44 Co-authored-by: Michał Niedziółka <[email protected]> --------------------- imagesrcset and imagesizes in link (#1444) validator/validator@49656dbfc Co-authored-by: Michał Niedziółka <[email protected]> --------------------- feat: add support width and height of source in picture validator/validator@176d98e4f Co-authored-by: Takeshi Kurosawa <[email protected]> --------------------- Update: allow none/presentation on nav element (#1323) validator/validator@5e25edb39 Co-authored-by: Scott O'Hara <[email protected]> --------------------- Update schema/html5/web-forms.rnc validator/validator@95ba6c7cf Co-authored-by: Michael[tm] Smith <[email protected]> --------------------- update role allowances for button and input type=button validator/validator@6cc14c4d7 Co-authored-by: Scott O'Hara <[email protected]> --------------------- adds role=radio alowance to img alt=foo validator/validator@b013aa02b Co-authored-by: Scott O'Hara <[email protected]> --------------------- remove deprecated dpub role allowances validator/validator@b0fb152c0 Co-authored-by: Scott O'Hara <[email protected]> --------------------- allow section element to have role=group validator/validator@078341d37 Co-authored-by: Scott O'Hara <[email protected]>
--------------------- Add `plaintext-only` value to `contenteditable` attribute validator/validator@228ea687b Co-authored-by: Niedziolka Michal <[email protected]> --------------------- add warnings for deprecated ARIA attributes (#1560) validator/validator@e61fbeb2c Co-authored-by: Steve Faulkner <[email protected]> --------------------- disallow aria attributes on datalist (#1557) validator/validator@b4849c04b Co-authored-by: Steve Faulkner <[email protected]> --------------------- allow role=button on area validator/validator@89ff1fc2b Co-authored-by: stevefaulkner <[email protected]> --------------------- fix: allow -1 for aria-colcount validator/validator@2466e73c4 Co-authored-by: Nick Schonning <[email protected]> --------------------- fix: Allow -1 for aria-rowcount validator/validator@eac205b6b Co-authored-by: Nick Schonning <[email protected]> --------------------- Add `fetchpriority` attribute validator/validator@7c9991405 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Script type importmap (#1478) validator/validator@4054c56f5 Co-authored-by: Michał Niedziółka <[email protected]> --------------------- Move “manifest” attribute to legacy-attributes list validator/validator@175e62d3a Co-authored-by: Michael[tm] Smith <[email protected]> --------------------- Pointer Events (#1481) validator/validator@5eb52a931 Co-authored-by: Michał Niedziółka <[email protected]> --------------------- Report a better error message for obsolete “manifest” attribute validator/validator@ae924b625 Co-authored-by: Michael[tm] Smith <[email protected]> --------------------- onscrollend validator/validator@87287a97f Co-authored-by: Niedziolka Michal <[email protected]> --------------------- slot element validator/validator@d6cf423c1 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Allow paragraphs in hgroup (#1467) validator/validator@3ff53973f Co-authored-by: Michał Niedziółka <[email protected]> --------------------- blocking="render" (#1466) validator/validator@df5d4e23a Co-authored-by: Michał Niedziółka <[email protected]> --------------------- inert validator/validator@507f551b2 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- hidden=until-found validator/validator@a424d55a8 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- media attribute in meta element validator/validator@af3e94d22 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Sync event handlers validator/validator@58bea51c7 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Remove manifest attribute validator/validator@66510f3ca Co-authored-by: Niedziolka Michal <[email protected]> --------------------- enterkeyhint validator/validator@70f3044d7 Co-authored-by: Niedziolka Michal <[email protected]> --------------------- Form method dialog (#1443) validator/validator@0db229a44 Co-authored-by: Michał Niedziółka <[email protected]> --------------------- imagesrcset and imagesizes in link (#1444) validator/validator@49656dbfc Co-authored-by: Michał Niedziółka <[email protected]> --------------------- feat: add support width and height of source in picture validator/validator@176d98e4f Co-authored-by: Takeshi Kurosawa <[email protected]> --------------------- Update: allow none/presentation on nav element (#1323) validator/validator@5e25edb39 Co-authored-by: Scott O'Hara <[email protected]> --------------------- Update schema/html5/web-forms.rnc validator/validator@95ba6c7cf Co-authored-by: Michael[tm] Smith <[email protected]> --------------------- update role allowances for button and input type=button validator/validator@6cc14c4d7 Co-authored-by: Scott O'Hara <[email protected]> --------------------- adds role=radio alowance to img alt=foo validator/validator@b013aa02b Co-authored-by: Scott O'Hara <[email protected]> --------------------- remove deprecated dpub role allowances validator/validator@b0fb152c0 Co-authored-by: Scott O'Hara <[email protected]> --------------------- allow section element to have role=group validator/validator@078341d37 Co-authored-by: Scott O'Hara <[email protected]>
fix: allow links to resources embedded in content documents
This commit checks that the linked resource is not in the spine before
reporting
OPF-067
("The resource "…" must not be listed both as a"link" element in the package metadata and as a manifest item.").
Effectively, this allows package links to publication resources in the
two cases identified in the EPUB 3.3 specification:
Fix #1454
feat: report package link to package document elements
This commit introduces a new error message (
OPF-098
) to reporthref
attributescontaining a URL to package document elements.
This implements a check for the following specification statement: