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

HTML shouldn't <dfn> Document #1715

Closed
jyasskin opened this issue Aug 25, 2016 · 6 comments
Closed

HTML shouldn't <dfn> Document #1715

jyasskin opened this issue Aug 25, 2016 · 6 comments

Comments

@jyasskin
Copy link
Member

A Bikeshed file containing {{Document}} complains that:

LINK ERROR: Multiple possible 'idl' refs for 'Document'.
Arbitrarily chose the one in html.
If this is wrong, insert one of the following lines into a <pre class=link-defaults> block:
spec:dom; type:interface; text:Document
spec:html; type:interface; text:Document

HTML's is only a partial interface, so it shouldn't use markup that overrides DOM's definition for other specs. I'm not sure if the right thing to do is to remove the <dfn> tag, mark it with data-noexport="", or something else. @tabatkins, can you advise?

@zcorpan
Copy link
Member

zcorpan commented Aug 26, 2016

"Document" links in the HTML spec itself should be internal links, not to the DOM spec.

@annevk
Copy link
Member

annevk commented Aug 26, 2016

Can't we just mark it as partial interface somehow?

@tabatkins
Copy link
Collaborator

This is another case for "some way to opt a DFN out of Bikeshed processing". I'll go ahead and add that today.

(partials are handled by Bikeshed at the parsing level - if it notices that you're defining a partial interface, it forces the interface name to be an A, rather than choosing A/DFN based on whether there's already an instance of that interface defined elsewhere. There's nothing at the definition-contract level that indicates something is a partial definition.)

@tabatkins
Copy link
Collaborator

Done. Setting data-dfn-lt="" should drop it from Bikeshed's database, so nothing can autolink to it at all. (If this works as it should, we can use it for all the other things that were "unexported" just to try and hide them from Bikeshed.)

@annevk
Copy link
Member

annevk commented Aug 31, 2016

@tabatkins though if it parses it as partial, it should be clear too it cannot be "the" <dfn>. Anyway, adding data-dfn-lt="" should be fine.

@tabatkins
Copy link
Collaborator

Right, that's what I'm saying - in a Bikeshed document, Bikeshed knows about partial interfaces, and prevents them from becoming definitions by default. But there's nothing in the data model that indicates an interface definition came from a partial block, so if a non-Bikeshed spec has partial <dfn>Foo</dfn> {...};, I can't do anything about it.

jyasskin added a commit to jyasskin/html that referenced this issue Aug 31, 2016
@zcorpan zcorpan closed this as completed in 9885eef Sep 1, 2016
alice pushed a commit to alice/html that referenced this issue Jan 8, 2019
DOM already defines Document. Other specs that cross-reference
Document should link to DOM, not HTML's partial interface.
The data-dfn-lt="" attribute hides the definition for Bikeshed.

Fixes whatwg#1715.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

4 participants