Skip to content
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

Links with epub:type require href #1444

Closed
mattgarrish opened this issue Dec 5, 2022 · 1 comment · Fixed by #1459
Closed

Links with epub:type require href #1444

mattgarrish opened this issue Dec 5, 2022 · 1 comment · Fixed by #1459
Assignees
Labels
status: ready for implem The issue is ready to be implemented type: false-positive This issue is about valid content being incorrectly rejected
Milestone

Comments

@mattgarrish
Copy link
Member

You can't use epub:type on an inactive link like this:

<a epub:type="glossref">foo</a>

If you do, epubcheck will report:

Error while parsing file: element "a" missing required attribute "href"

I don't know if this occurs often, but it seems like it might be too strict. I'm more worried that people have used it on bad markup patterns like this from the samples: <a epub:type="keyword">bar</a>.

@rdeltour rdeltour self-assigned this Dec 6, 2022
@rdeltour rdeltour added status: ready for implem The issue is ready to be implemented type: false-positive This issue is about valid content being incorrectly rejected labels Dec 6, 2022
@rdeltour rdeltour added this to the v5.0.0 milestone Dec 6, 2022
@rdeltour
Copy link
Member

rdeltour commented Dec 6, 2022

Good catch! 👍

I checked the RelaxNG schema and the a element is defined as a combination of 4 elements:

a.elem.phrasing = a.href.elem.phrasing | a.nohref.elem.phrasing
a.elem.flow = a.href.elem.flow | a.nohref.elem.flow

we add the epub:type attribute to the a.attrs attributes, but not all of a.attrs are added to the a element with no href. So when it sees the epub:type attribute, the schema expects to be in one of the a.href.elem.* element, and also expects a href. 🙃

I'll fix the schema when updating the epub:type restrictions.

@rdeltour rdeltour modified the milestones: v5.0.0, v5.0.0-rc Dec 8, 2022
rdeltour added a commit that referenced this issue Jul 6, 2023
---------------------

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]>
rdeltour added a commit that referenced this issue Jul 7, 2023
---------------------

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]>
rdeltour added a commit that referenced this issue Jul 7, 2023
---------------------

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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: ready for implem The issue is ready to be implemented type: false-positive This issue is about valid content being incorrectly rejected
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants