w3c / webref

Machine-readable references of terms defined in web browser specifications
https://w3c.github.io/webref/
MIT License
289 stars 72 forks source link

Look for duplicate exported dfns #306

Open tidoust opened 3 years ago

tidoust commented 3 years ago

Some specs define and export terms that are defined elsewhere, see e.g. discussion in https://github.com/w3c/respec/issues/3687

There may be valid cases where this is needed. It would be good to first look at exported dfns and list terms that are defined more than once.

marcoscaceres commented 3 years ago

See also https://github.com/w3c/aria/pull/1510

tidoust commented 3 years ago

Here is a first dump of exported terms defined in more than one spec. This is the result of parsing the dfns extracts with the following rules:

  1. Only consider exported dfns (dfn.access === 'public')
  2. Only consider root dfns (dfn.for.length === 0)
  3. Consider that dfns in CSS modules override the same dfns in CSS 2 and SVG 2
  4. Consider that css-align dfns override those in css-flexbox
  5. Consider that css-position dfns override those in css-logical
  6. Ignore duplicate IDL terms, we know about them and fix them already through IDL patches (although note we don't yet fix them in dfns extracts)
  7. Ignore duplicate elements in HTML and SVG 2 (the a, link, style, title elements)

These rules take care of most but not all of the duplicate CSS properties identified in https://github.com/w3c/webref/issues/127#issuecomment-874135280.

Looking at the results, there are a number of cases where the duplicates are warranted (e.g. the notion of attribute in DOM is different from the notion of attribute in Web IDL). There are cases where specs need fixing (e.g. wai-aria should reference Infra for user agent, conformant server should not be exported, Trusted Types has a few weird constructs). And there are cases that are questionable (e.g. the notion of character? Why does Page Lifecycle re-define discard, is it an extended dfn?)

Duplicate dfns with same type (27 found) - `*`: [Clear Site Data](https://w3c.github.io/webappsec-clear-site-data/#grammardef-), [CSS Values and Units Module Level 4](https://drafts.csswg.org/css-values-4/#mult-zero-plus) - ``: [CSS Syntax Module Level 3](https://drafts.csswg.org/css-syntax/#typedef-integer), [CSS Values and Units Module Level 4](https://drafts.csswg.org/css-values-4/#integer-value) - ``: [CSS Cascading and Inheritance Level 4](https://drafts.csswg.org/css-cascade/#typedef-media-query), [Media Queries Level 4](https://drafts.csswg.org/mediaqueries-4/#typedef-media-query) - ``: [CSS Cascading and Inheritance Level 4](https://drafts.csswg.org/css-cascade/#typedef-supports-condition), [CSS Conditional Rules Module Level 3](https://drafts.csswg.org/css-conditional-3/#typedef-supports-condition) - `alignment baseline`: [CSS Box Alignment Module Level 3](https://drafts.csswg.org/css-align/#alignment-baseline), [CSS Inline Layout Module Level 3](https://drafts.csswg.org/css-inline-3/#alignment-baseline) - `append an attribute`: [DOM Standard](https://dom.spec.whatwg.org/#concept-element-attributes-append), [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#concept-element-attributes-append) - `attribute`: [DOM Standard](https://dom.spec.whatwg.org/#concept-attribute), [Accessible Rich Internet Applications (WAI-ARIA) 1.3](https://w3c.github.io/aria/#dfn-attribute), [Web IDL](https://heycam.github.io/webidl/#dfn-attribute) - `base64-value`: [Content Security Policy Level 3](https://w3c.github.io/webappsec-csp/#grammardef-base64-value), [Subresource Integrity](https://w3c.github.io/webappsec-subresource-integrity/#grammardef-base64-value) - `baseline alignment preference`: [CSS Box Alignment Module Level 3](https://drafts.csswg.org/css-align/#baseline-alignment-preference), [CSS Inline Layout Module Level 3](https://drafts.csswg.org/css-inline-3/#baseline-alignment-preference) - `character`: [Infra Standard](https://infra.spec.whatwg.org/#code-point), [CSS Text Module Level 3](https://drafts.csswg.org/css-text-3/#character) - `conformant server`: [Incremental Font Transfer](https://w3c.github.io/PFE/Overview.html#conformant-server), [Web Audio API](https://webaudio.github.io/web-audio-api/#conformant-server) - `conformant user agent`: [Incremental Font Transfer](https://w3c.github.io/PFE/Overview.html#conformant-user-agent), [Web Audio API](https://webaudio.github.io/web-audio-api/#conformant-user-agent) - `content()`: [CSS Generated Content Module Level 3](https://drafts.csswg.org/css-content-3/#funcdef-content), [CSS Generated Content for Paged Media Module](https://drafts.csswg.org/css-gcpm/#funcdef-content) - `element`: [DOM Standard](https://dom.spec.whatwg.org/#concept-element), [Accessible Rich Internet Applications (WAI-ARIA) 1.3](https://w3c.github.io/aria/#dfn-element) - `event`: [DOM Standard](https://dom.spec.whatwg.org/#concept-event), [WebDriver BiDi](https://w3c.github.io/webdriver-bidi/#event), [Accessible Rich Internet Applications (WAI-ARIA) 1.3](https://w3c.github.io/aria/#dfn-event) - `identifier`: [CSS Syntax Module Level 3](https://drafts.csswg.org/css-syntax/#identifier), [Web IDL](https://heycam.github.io/webidl/#dfn-identifier) - `local coordinate system`: [CSS Transforms Module Level 1](https://drafts.csswg.org/css-transforms/#local-coordinate-system), [Generic Sensor API](https://w3c.github.io/sensors/#local-coordinate-system) - `multiply`: [CSS Transforms Module Level 1](https://drafts.csswg.org/css-transforms/#multiply), [Geometry Interfaces Module Level 1](https://drafts.fxtf.org/geometry/#multiply) - `post-multiply`: [CSS Transforms Module Level 1](https://drafts.csswg.org/css-transforms/#post-multiply), [Geometry Interfaces Module Level 1](https://drafts.fxtf.org/geometry/#post-multiply) - `pre-multiply`: [CSS Transforms Module Level 1](https://drafts.csswg.org/css-transforms/#pre-multiply), [Geometry Interfaces Module Level 1](https://drafts.fxtf.org/geometry/#pre-multiply) - `Process response policy`: [Document Policy](https://wicg.github.io/document-policy/#process-response-policy), [Permissions Policy](https://w3c.github.io/webappsec-permissions-policy/#process-response-policy) - `status`: [Fetch Standard](https://fetch.spec.whatwg.org/#concept-status), [WebDriver BiDi](https://w3c.github.io/webdriver-bidi/#navigation-status-status) - `string()`: [CSS Generated Content Module Level 3](https://drafts.csswg.org/css-content-3/#funcdef-string), [CSS Generated Content for Paged Media Module](https://drafts.csswg.org/css-gcpm/#funcdef-string) - `string-set`: [CSS Generated Content Module Level 3](https://drafts.csswg.org/css-content-3/#propdef-string-set), [CSS Generated Content for Paged Media Module](https://drafts.csswg.org/css-gcpm/#propdef-string-set) - `synchronized`: [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/types.html#TermSynchronize), [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/types.html#TermSynchronizeList) - `user agent`: [Infra Standard](https://infra.spec.whatwg.org/#user-agent), [Accessible Rich Internet Applications (WAI-ARIA) 1.3](https://w3c.github.io/aria/#dfn-user-agent) - `widget`: [CSS Basic User Interface Module Level 4](https://drafts.csswg.org/css-ui-4/#widget), [Accessible Rich Internet Applications (WAI-ARIA) 1.3](https://w3c.github.io/aria/#dfn-widget)
Duplicate dfns with different types (54 found) - `+`: [CSS Values and Units Module Level 4](https://drafts.csswg.org/css-values-4/#mult-one-plus), [Selectors Level 4](https://drafts.csswg.org/selectors/#selectordef-adjacent) - `background`: [HTML Standard](https://html.spec.whatwg.org/multipage/obsolete.html#attr-background), [CSS Backgrounds and Borders Module Level 3](https://drafts.csswg.org/css-backgrounds/#propdef-background) - `base`: [HTML Standard](https://html.spec.whatwg.org/multipage/semantics.html#the-base-element), [CSS Ruby Annotation Layout Module Level 1](https://drafts.csswg.org/css-ruby-1/#ruby-base-box) - `block-size`: [CSS Logical Properties and Values Level 1](https://drafts.csswg.org/css-logical-1/#propdef-block-size), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#block-size) - `body`: [Fetch Standard](https://fetch.spec.whatwg.org/#concept-body), [HTML Standard](https://html.spec.whatwg.org/multipage/sections.html#the-body-element) - `boolean`: [Infra Standard](https://infra.spec.whatwg.org/#boolean), [Web IDL](https://heycam.github.io/webidl/#idl-boolean) - `border`: [CSS Backgrounds and Borders Module Level 3](https://drafts.csswg.org/css-backgrounds/#propdef-border), [CSS Box Model Module Level 3](https://drafts.csswg.org/css-box-3/#border) - `bottom`: [CSS Positioned Layout Module Level 3](https://drafts.csswg.org/css-position/#propdef-bottom), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#physical-bottom) - `byte`: [Infra Standard](https://infra.spec.whatwg.org/#byte), [Web IDL](https://heycam.github.io/webidl/#idl-byte) - `canvas`: [HTML Standard](https://html.spec.whatwg.org/multipage/canvas.html#canvas), [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/coords.html#TermCanvas) - `color`: [CSS Color Module Level 4](https://drafts.csswg.org/css-color/#color), [CSS Color Module Level 4](https://drafts.csswg.org/css-color/#propdef-color) - `columns`: [CSS Multi-column Layout Module Level 1](https://drafts.csswg.org/css-multicol/#propdef-columns), [CSS Table Module Level 3](https://drafts.csswg.org/css-tables-3/#column) - `discard`: [HTML Standard](https://html.spec.whatwg.org/multipage/window-object.html#a-browsing-context-is-discarded), [SVG Animations](https://svgwg.org/specs/animations/#elementdef-discard), [Page Lifecycle](https://wicg.github.io/page-lifecycle/#discarded) - `DOMString`: [Accessible Rich Internet Applications (WAI-ARIA) 1.3](https://w3c.github.io/aria/#dfn-domstring), [Web IDL](https://heycam.github.io/webidl/#idl-DOMString) - `Element`: [DOM Standard](https://dom.spec.whatwg.org/#element), [Accessible Rich Internet Applications (WAI-ARIA) 1.3](https://w3c.github.io/aria/#dfn-element) - `Event`: [DOM Standard](https://dom.spec.whatwg.org/#event), [Accessible Rich Internet Applications (WAI-ARIA) 1.3](https://w3c.github.io/aria/#dfn-event) - `filter`: [Filter Effects Module Level 1](https://drafts.fxtf.org/filter-effects-1/#propdef-filter), [Filter Effects Module Level 1](https://drafts.fxtf.org/filter-effects-1/#elementdef-filter) - `float`: [CSS Page Floats](https://drafts.csswg.org/css-page-floats/#propdef-float), [Web IDL](https://heycam.github.io/webidl/#idl-float) - `font`: [HTML Standard](https://html.spec.whatwg.org/multipage/obsolete.html#font), [CSS Fonts Module Level 4](https://drafts.csswg.org/css-fonts-4/#propdef-font) - `Global`: [WebAssembly JavaScript Interface](https://webassembly.github.io/spec/js-api/#global), [Web IDL](https://heycam.github.io/webidl/#Global) - `grid`: [CSS Grid Layout Module Level 2](https://drafts.csswg.org/css-grid-2/#grid), [CSS Grid Layout Module Level 2](https://drafts.csswg.org/css-grid-2/#propdef-grid) - `header`: [Fetch Standard](https://fetch.spec.whatwg.org/#concept-header), [HTML Standard](https://html.spec.whatwg.org/multipage/sections.html#the-header-element) - `height`: [CSS Box Sizing Module Level 3](https://drafts.csswg.org/css-sizing-3/#propdef-height), [CSS Box Sizing Module Level 3](https://drafts.csswg.org/css-sizing-3/#height), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#height) - `inline-size`: [CSS Logical Properties and Values Level 1](https://drafts.csswg.org/css-logical-1/#propdef-inline-size), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#inline-size) - `isolation`: [Compositing and Blending Level 1](https://drafts.fxtf.org/compositing-1/#propdef-isolation), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#bidi-isolate) - `Landmark`: [Accelerated Shape Detection in Images](https://wicg.github.io/shape-detection-api/#dictdef-landmark), [Accessible Rich Internet Applications (WAI-ARIA) 1.3](https://w3c.github.io/aria/#dfn-landmark) - `left`: [CSS Positioned Layout Module Level 3](https://drafts.csswg.org/css-position/#propdef-left), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#physical-left) - `map`: [HTML Standard](https://html.spec.whatwg.org/multipage/image-maps.html#the-map-element), [Infra Standard](https://infra.spec.whatwg.org/#ordered-map) - `margin`: [CSS Box Model Module Level 3](https://drafts.csswg.org/css-box-3/#margin), [CSS Box Model Module Level 3](https://drafts.csswg.org/css-box-3/#propdef-margin) - `mask`: [CSS Masking Module Level 1](https://drafts.fxtf.org/css-masking-1/#propdef-mask), [CSS Masking Module Level 1](https://drafts.fxtf.org/css-masking-1/#elementdef-mask) - `mask-position`: [CSS Masking Module Level 1](https://drafts.fxtf.org/css-masking-1/#mask-position), [CSS Masking Module Level 1](https://drafts.fxtf.org/css-masking-1/#propdef-mask-position) - `mask-size`: [CSS Masking Module Level 1](https://drafts.fxtf.org/css-masking-1/#mask-size), [CSS Masking Module Level 1](https://drafts.fxtf.org/css-masking-1/#propdef-mask-size) - `Node`: [DOM Standard](https://dom.spec.whatwg.org/#node), [Accessible Rich Internet Applications (WAI-ARIA) 1.3](https://w3c.github.io/aria/#dfn-node) - `object`: [HTML Standard](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element), [Accessible Rich Internet Applications (WAI-ARIA) 1.3](https://w3c.github.io/aria/#dfn-object), [Web IDL](https://heycam.github.io/webidl/#idl-object) - `overflow`: [CSS Overflow Module Level 3](https://drafts.csswg.org/css-overflow-3/#overflow), [CSS Overflow Module Level 3](https://drafts.csswg.org/css-overflow-3/#propdef-overflow) - `pause`: [HTML Standard](https://html.spec.whatwg.org/multipage/webappapis.html#pause), [CSS Speech Module Level 1](https://drafts.csswg.org/css-speech-1/#propdef-pause) - `right`: [CSS Positioned Layout Module Level 3](https://drafts.csswg.org/css-position/#propdef-right), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#physical-right) - `role`: [HTML Standard](https://html.spec.whatwg.org/multipage/infrastructure.html#attr-aria-role), [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/struct.html#RoleAttribute), [Accessible Rich Internet Applications (WAI-ARIA) 1.3](https://w3c.github.io/aria/#dfn-role) - `script`: [HTML Standard](https://html.spec.whatwg.org/multipage/scripting.html#script), [HTML Standard](https://html.spec.whatwg.org/multipage/webappapis.html#concept-script), [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/interact.html#elementdef-script) - `set`: [Infra Standard](https://infra.spec.whatwg.org/#ordered-set), [SVG Animations](https://svgwg.org/specs/animations/#elementdef-set) - `slot`: [DOM Standard](https://dom.spec.whatwg.org/#concept-slot), [HTML Standard](https://html.spec.whatwg.org/multipage/scripting.html#the-slot-element) - `source`: [HTML Standard](https://html.spec.whatwg.org/multipage/embedded-content.html#the-source-element), [Media Capture and Streams](https://w3c.github.io/mediacapture-main/#dfn-source) - `span`: [HTML Standard](https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-span-element), [CSS Table Module Level 3](https://drafts.csswg.org/css-tables-3/#span) - `symbol`: [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/struct.html#elementdef-symbol), [Web IDL](https://heycam.github.io/webidl/#idl-symbol) - `top`: [CSS Positioned Layout Module Level 3](https://drafts.csswg.org/css-position/#propdef-top), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#physical-top) - `TrustedHTML`: [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#typedef-trustedhtml), [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#trustedhtml) - `TrustedScript`: [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#typedef-trustedscript), [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#trustedscript) - `TrustedScriptURL`: [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#typedef-trustedscripturl), [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#trustedscripturl) - `TrustedTypePolicy`: [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#typedef-trustedtypepolicy), [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#trustedtypepolicy) - `TrustedTypePolicyFactory`: [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#typedef-trustedtypepolicyfactory), [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#trustedtypepolicyfactory) - `TrustedTypePolicyOptions`: [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#typedef-trustedtypepolicyoptions), [Trusted Types](https://w3c.github.io/webappsec-trusted-types/dist/spec/#dictdef-trustedtypepolicyoptions) - `URL`: [URL Standard](https://url.spec.whatwg.org/#concept-url), [URL Standard](https://url.spec.whatwg.org/#url) - `width`: [CSS Box Sizing Module Level 3](https://drafts.csswg.org/css-sizing-3/#propdef-width), [CSS Box Sizing Module Level 3](https://drafts.csswg.org/css-sizing-3/#width), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#width) - `||`: [CSS Values and Units Module Level 4](https://drafts.csswg.org/css-values-4/#comb-any), [Selectors Level 4](https://drafts.csswg.org/selectors/#selectordef-column)
dontcallmedom commented 3 years ago

in the list of same name, different types, there were 6 were the duplicate came from the same spec (Trusted Types), due to a bug in the markup - PR filed at https://github.com/w3c/webappsec-trusted-types/pull/348

re "character" in the first list, it's interesting that the visible term in Infra is actually "code point", with character only provided as an alternate linking text - maybe one that should be deprecated given the ambiguity of the term.

I'm surprised the 2nd list is so short; for instance, width is also used in HTML, SVG, as a mediastreamtrack constraint, etc. I guess these are filtered out by the "root-only dfns" rule.

tidoust commented 3 years ago

Note code that produces the previous report is in a dedicated Reffy branch: https://github.com/w3c/reffy/blob/study-dfns/src/cli/study-dfns.js

cdoublev commented 2 years ago

I leave a note here but please tell me if you prefer that I open a dedicated issue.

<rgb()> and <hsl()> are defined with a legacy syntax that @webref/css does not extract. The legacy syntax defines a comma separated list of arguments while the modern syntax defines a whitespace/slash separated list. The legacy syntax will never be removed, I presume, and I would bet many CSS authors use the legacy syntax instead of the new one.

<!-- Markup for the modern syntax -->
<pre class="prod highlight">
    <dfn class="dfn-paneled" data-dfn-type="function" data-export="" id="funcdef-hsl">
        <c- nf="">hsl</c-><c- p="">()</c->
    </dfn>
    <!-- ... -->
</pre>
<!-- Markup for the legacy syntax -->
<pre class="prod highlight">
    <c- nf="">hsl</c-><c- p="">()</c->
    <!-- ... -->
</pre>

I'm not sure what to suggest and where to suggest it. I believe that Bikeshed should allow defining a legacy syntax that @webref/css could assign to an additional legacy for an entry in valuespace, but to my knowledge, these are the only types that have two value definitions defined in the same spec.

tidoust commented 2 years ago

Thanks @cdoublev, I moved your comment to a dedicated issue #563.

tidoust commented 1 year ago

Refreshing the list of duplicate definitions and completing with the list of IDL terms that are defined more than once (before patches are applied):

Duplicate dfns with same type (64 found) - `*`: [Clear Site Data](https://w3c.github.io/webappsec-clear-site-data/#grammardef-), [CSS Values and Units Module Level 4](https://drafts.csswg.org/css-values-4/#mult-zero-plus) - `:fullscreen`: [Fullscreen API Standard](https://fullscreen.spec.whatwg.org/#css-pc-fullscreen), [Selectors Level 4](https://drafts.csswg.org/selectors-4/#selectordef-fullscreen) - ``: [CSS Syntax Module Level 3](https://drafts.csswg.org/css-syntax-3/#typedef-integer), [CSS Values and Units Module Level 4](https://drafts.csswg.org/css-values-4/#integer-value) - `alignment baseline`: [CSS Box Alignment Module Level 3](https://drafts.csswg.org/css-align-3/#alignment-baseline), [CSS Inline Layout Module Level 3](https://drafts.csswg.org/css-inline-3/#alignment-baseline) - `animation-delay`: [CSS Animations Level 1](https://drafts.csswg.org/css-animations-1/#propdef-animation-delay), [Scroll-linked Animations](https://drafts.csswg.org/scroll-animations-1/#propdef-animation-delay) - `append an attribute`: [DOM Standard](https://dom.spec.whatwg.org/#concept-element-attributes-append), [Trusted Types](https://w3c.github.io/trusted-types/dist/spec/#concept-element-attributes-append) - `ASCII case-insensitive`: [Infra Standard](https://infra.spec.whatwg.org/#ascii-case-insensitive), [Internationalization Glossary](https://w3c.github.io/i18n-glossary/#def_ascii_case-insensitive) - `attribute`: [DOM Standard](https://dom.spec.whatwg.org/#concept-attribute), [Web IDL Standard](https://webidl.spec.whatwg.org/#dfn-attribute) - `audio`: [HTML Standard](https://html.spec.whatwg.org/multipage/media.html#audio), [EPUB 3.3](https://w3c.github.io/epub-specs/epub33/core/#dfn-audio) - `base64-value`: [Content Security Policy Level 3](https://w3c.github.io/webappsec-csp/#grammardef-base64-value), [Subresource Integrity](https://w3c.github.io/webappsec-subresource-integrity/#grammardef-base64-value) - `baseline alignment preference`: [CSS Box Alignment Module Level 3](https://drafts.csswg.org/css-align-3/#baseline-alignment-preference), [CSS Inline Layout Module Level 3](https://drafts.csswg.org/css-inline-3/#baseline-alignment-preference) - `cap shapes`: [CSS Fill and Stroke Module Level 3](https://drafts.fxtf.org/fill-stroke-3/#cap-shapes), [SVG Strokes](https://svgwg.org/specs/strokes/#TermCapShape) - `ch-prefers-color-scheme`: [Client Hints Infrastructure](https://wicg.github.io/client-hints-infrastructure/#ch-prefers-color-scheme), [User Preference Media Features Client Hints Headers](https://wicg.github.io/user-preference-media-features-headers/#ch-prefers-color-scheme) - `ch-prefers-reduced-motion`: [Client Hints Infrastructure](https://wicg.github.io/client-hints-infrastructure/#ch-prefers-reduced-motion), [User Preference Media Features Client Hints Headers](https://wicg.github.io/user-preference-media-features-headers/#ch-prefers-reduced-motion) - `character`: [Infra Standard](https://infra.spec.whatwg.org/#code-point), [CSS Text Module Level 3](https://drafts.csswg.org/css-text-3/#character) - `code unit`: [Infra Standard](https://infra.spec.whatwg.org/#code-unit), [Internationalization Glossary](https://w3c.github.io/i18n-glossary/#def_code_unit) - `consumer`: [Internationalization Glossary](https://w3c.github.io/i18n-glossary/#dfn-consumer), [Media Capture and Streams](https://w3c.github.io/mediacapture-main/#dfn-consumer) - `content()`: [CSS Generated Content Module Level 3](https://drafts.csswg.org/css-content-3/#funcdef-content), [CSS Generated Content for Paged Media Module](https://drafts.csswg.org/css-gcpm-3/#funcdef-content) - `dash positions`: [CSS Fill and Stroke Module Level 3](https://drafts.fxtf.org/fill-stroke-3/#dash-positions), [SVG Strokes](https://svgwg.org/specs/strokes/#TermDashPositions) - `devicechange`: [Media Capture and Streams](https://w3c.github.io/mediacapture-main/#event-mediadevices-devicechange), [Screen Capture](https://w3c.github.io/mediacapture-screen-share/#dfn-devicechange) - `document`: [DOM Standard](https://dom.spec.whatwg.org/#concept-document), [CSS Style Attributes](https://drafts.csswg.org/css-style-attr/#document) - `enabled`: [Internationalization Glossary](https://w3c.github.io/i18n-glossary/#def_locale_aware), [Media Capture and Streams](https://w3c.github.io/mediacapture-main/#track-enabled) - `entailment regime`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-entailment-regime), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-entailment-regime) - `event`: [DOM Standard](https://dom.spec.whatwg.org/#concept-event), [WebDriver BiDi](https://w3c.github.io/webdriver-bidi/#event) - `extension`: [Internationalization Glossary](https://w3c.github.io/i18n-glossary/#def_language_tag_extension), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-extension) - `fallback`: [CSS Box Sizing Module Level 3](https://drafts.csswg.org/css-sizing-3/#fallback), [Internationalization Glossary](https://w3c.github.io/i18n-glossary/#def_locale_fallback) - `head`: [HTML Standard](https://html.spec.whatwg.org/multipage/semantics.html#the-head-element), [EPUB 3.3](https://w3c.github.io/epub-specs/epub33/core/#dfn-head) - `idempotent`: [RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content](https://httpwg.org/specs/rfc7231.html#idempotent), [RFC 9110 - HTTP Semantics](https://httpwg.org/specs/rfc9110.html#idempotent) - `interpolation`: [CSS Values and Units Module Level 4](https://drafts.csswg.org/css-values-4/#interpolation), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-interpolation) - `IRI`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-iri), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-iri) - `isomorphic`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-graph-isomorphism), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-isomorphic) - `language tag`: [Internationalization Glossary](https://w3c.github.io/i18n-glossary/#def_language_tag), [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-language-tag) - `lexical-to-value mapping`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-lexical-to-value-mapping), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-lexical-to-value-mapping) - `line join shape`: [CSS Fill and Stroke Module Level 3](https://drafts.fxtf.org/fill-stroke-3/#line-join-shape), [SVG Strokes](https://svgwg.org/specs/strokes/#TermLineJoinShape) - `link`: [HTML Standard](https://html.spec.whatwg.org/multipage/semantics.html#the-link-element), [EPUB 3.3](https://w3c.github.io/epub-specs/epub33/core/#dfn-link), [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/styling.html#LinkElement) - `literal`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-literal), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-literal) - `local coordinate system`: [CSS Transforms Module Level 1](https://drafts.csswg.org/css-transforms-1/#local-coordinate-system), [Generic Sensor API](https://w3c.github.io/sensors/#local-coordinate-system) - `meta`: [HTML Standard](https://html.spec.whatwg.org/multipage/semantics.html#meta), [EPUB 3.3](https://w3c.github.io/epub-specs/epub33/core/#dfn-meta) - `multiply`: [CSS Transforms Module Level 1](https://drafts.csswg.org/css-transforms-1/#multiply), [Geometry Interfaces Module Level 1](https://drafts.fxtf.org/geometry-1/#multiply) - `namespace`: [Web IDL Standard](https://webidl.spec.whatwg.org/#dfn-namespace), [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-namespace) - `namespace prefix`: [CSS Namespaces Module Level 3](https://drafts.csswg.org/css-namespaces-3/#namespace-prefix), [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-namespace-prefix) - `post-multiply`: [CSS Transforms Module Level 1](https://drafts.csswg.org/css-transforms-1/#post-multiply), [Geometry Interfaces Module Level 1](https://drafts.fxtf.org/geometry-1/#post-multiply) - `pre-multiply`: [CSS Transforms Module Level 1](https://drafts.csswg.org/css-transforms-1/#pre-multiply), [Geometry Interfaces Module Level 1](https://drafts.fxtf.org/geometry-1/#pre-multiply) - `predicate`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-predicate), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-predicate) - `range`: [DOM Standard](https://dom.spec.whatwg.org/#concept-range), [Internationalization Glossary](https://w3c.github.io/i18n-glossary/#def_language_range) - `RDF dataset`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-rdf-dataset), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-rdf-dataset) - `RDF graph`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-rdf-graph), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-rdf-graph) - `RDF source`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-rdf-source), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-rdf-source) - `RDF triple`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-rdf-triple) - `RDF vocabulary`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-rdf-vocabulary), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-rdf-vocabulary) - `referent`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-referent), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-referent) - `resources`: [Internationalization Glossary](https://w3c.github.io/i18n-glossary/#def_resource), [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-resource) - `role`: [HTML Standard](https://html.spec.whatwg.org/multipage/infrastructure.html#attr-aria-role), [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/struct.html#RoleAttribute) - `service constructor`: [ECMAScript® 2023 Internationalization API Specification](https://tc39.es/ecma402/#service-constructor), [Intl Enumeration API Specification](https://tc39.es/proposal-intl-enumeration/#service-constructor) - `status`: [Fetch Standard](https://fetch.spec.whatwg.org/#concept-status), [WebDriver BiDi](https://w3c.github.io/webdriver-bidi/#navigation-status-status) - `string()`: [CSS Generated Content Module Level 3](https://drafts.csswg.org/css-content-3/#funcdef-string), [CSS Generated Content for Paged Media Module](https://drafts.csswg.org/css-gcpm-3/#funcdef-string) - `string-set`: [CSS Generated Content Module Level 3](https://drafts.csswg.org/css-content-3/#propdef-string-set), [CSS Generated Content for Paged Media Module](https://drafts.csswg.org/css-gcpm-3/#propdef-string-set) - `stroke shape`: [CSS Fill and Stroke Module Level 3](https://drafts.fxtf.org/fill-stroke-3/#stroke-shape), [SVG Strokes](https://svgwg.org/specs/strokes/#TermStrokeShape) - `subject`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-subject), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-subject) - `surrogate`: [Infra Standard](https://infra.spec.whatwg.org/#surrogate), [Internationalization Glossary](https://w3c.github.io/i18n-glossary/#dfn-surrogate) - `text`: [EPUB 3.3](https://w3c.github.io/epub-specs/epub33/core/#dfn-text), [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/text.html#elementdef-text) - `valid`: [Internationalization Glossary](https://w3c.github.io/i18n-glossary/#def_valid), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-valid) - `value space`: [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-value-space), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-value-space) - `widget`: [CSS Basic User Interface Module Level 4](https://drafts.csswg.org/css-ui-4/#widget), [MiniApp Packaging](https://w3c.github.io/miniapp-packaging/#dfn-widget)
Duplicate dfns with different types (64 found) - `+`: [CSS Values and Units Module Level 4](https://drafts.csswg.org/css-values-4/#mult-one-plus), [Selectors Level 4](https://drafts.csswg.org/selectors-4/#selectordef-adjacent) - ``: [SVG Strokes](https://svgwg.org/specs/strokes/#DataTypeDasharray), [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/painting.html#DataTypeDasharray) - `animation`: [CSS Animations Level 1](https://drafts.csswg.org/css-animations-1/#propdef-animation), [Web Animations](https://drafts.csswg.org/web-animations-1/#concept-animation) - `annotation`: [CSS Ruby Annotation Layout Module Level 1](https://drafts.csswg.org/css-ruby-1/#ruby-annotation-box), [MathML Core](https://w3c.github.io/mathml-core/#dfn-annotation) - `background`: [HTML Standard](https://html.spec.whatwg.org/multipage/obsolete.html#attr-background), [CSS Backgrounds and Borders Module Level 3](https://drafts.csswg.org/css-backgrounds-3/#propdef-background) - `base`: [HTML Standard](https://html.spec.whatwg.org/multipage/semantics.html#the-base-element), [CSS Ruby Annotation Layout Module Level 1](https://drafts.csswg.org/css-ruby-1/#ruby-base-box) - `block-size`: [CSS Logical Properties and Values Level 1](https://drafts.csswg.org/css-logical-1/#propdef-block-size), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#block-size) - `body`: [Fetch Standard](https://fetch.spec.whatwg.org/#concept-body), [HTML Standard](https://html.spec.whatwg.org/multipage/sections.html#the-body-element), [EPUB 3.3](https://w3c.github.io/epub-specs/epub33/core/#dfn-body) - `boolean`: [Infra Standard](https://infra.spec.whatwg.org/#boolean), [Web IDL Standard](https://webidl.spec.whatwg.org/#idl-boolean) - `border`: [CSS Backgrounds and Borders Module Level 3](https://drafts.csswg.org/css-backgrounds-3/#propdef-border), [CSS Box Model Module Level 3](https://drafts.csswg.org/css-box-3/#border) - `bottom`: [CSS Positioned Layout Module Level 3](https://drafts.csswg.org/css-position-3/#propdef-bottom), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#physical-bottom) - `byte`: [Infra Standard](https://infra.spec.whatwg.org/#byte), [Web IDL Standard](https://webidl.spec.whatwg.org/#idl-byte) - `canvas`: [HTML Standard](https://html.spec.whatwg.org/multipage/canvas.html#canvas), [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/coords.html#TermCanvas) - `class`: [MathML Core](https://w3c.github.io/mathml-core/#dfn-class), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-class) - `collection`: [DOM Standard](https://dom.spec.whatwg.org/#concept-collection), [EPUB 3.3](https://w3c.github.io/epub-specs/epub33/core/#dfn-collection) - `color`: [CSS Color Module Level 4](https://drafts.csswg.org/css-color-4/#color), [CSS Color Module Level 4](https://drafts.csswg.org/css-color-4/#propdef-color) - `columns`: [CSS Multi-column Layout Module Level 1](https://drafts.csswg.org/css-multicol-1/#propdef-columns), [CSS Table Module Level 3](https://drafts.csswg.org/css-tables-3/#column) - `cursor`: [CSS Basic User Interface Module Level 4](https://drafts.csswg.org/css-ui-4/#propdef-cursor), [Screen Capture](https://w3c.github.io/mediacapture-screen-share/#dfn-cursor) - `Default`: [Web IDL Standard](https://webidl.spec.whatwg.org/#Default), [Screen Orientation](https://w3c.github.io/screen-orientation/#dfn-default-screen-orientation) - `dir`: [HTML Standard](https://html.spec.whatwg.org/multipage/obsolete.html#dir), [MathML Core](https://w3c.github.io/mathml-core/#dfn-dir) - `discard`: [SVG Animations](https://svgwg.org/specs/animations/#elementdef-discard), [Page Lifecycle](https://wicg.github.io/page-lifecycle/#discarded) - `filter`: [Filter Effects Module Level 1](https://drafts.fxtf.org/filter-effects-1/#propdef-filter), [Filter Effects Module Level 1](https://drafts.fxtf.org/filter-effects-1/#elementdef-filter) - `float`: [Web IDL Standard](https://webidl.spec.whatwg.org/#idl-float), [CSS Page Floats](https://drafts.csswg.org/css-page-floats-3/#propdef-float) - `font`: [HTML Standard](https://html.spec.whatwg.org/multipage/obsolete.html#font), [CSS Fonts Module Level 4](https://drafts.csswg.org/css-fonts-4/#propdef-font) - `Function`: [ECMAScript® 2023 Language Specification](https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-function-objects), [Web IDL Standard](https://webidl.spec.whatwg.org/#Function) - `Global`: [Web IDL Standard](https://webidl.spec.whatwg.org/#Global), [MiniApp Lifecycle](https://w3c.github.io/miniapp-lifecycle/#dom-global), [WebAssembly JavaScript Interface](https://webassembly.github.io/spec/js-api/#global) - `grid`: [CSS Grid Layout Module Level 2](https://drafts.csswg.org/css-grid-2/#grid), [CSS Grid Layout Module Level 2](https://drafts.csswg.org/css-grid-2/#propdef-grid) - `header`: [Fetch Standard](https://fetch.spec.whatwg.org/#concept-header), [HTML Standard](https://html.spec.whatwg.org/multipage/sections.html#the-header-element) - `height`: [CSS Box Sizing Module Level 3](https://drafts.csswg.org/css-sizing-3/#propdef-height), [CSS Box Sizing Module Level 3](https://drafts.csswg.org/css-sizing-3/#height), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#height), [Screen Capture](https://w3c.github.io/mediacapture-screen-share/#dfn-height) - `id`: [WebDriver BiDi](https://w3c.github.io/webdriver-bidi/#navigation-status-id), [MathML Core](https://w3c.github.io/mathml-core/#dfn-id) - `inline-size`: [CSS Logical Properties and Values Level 1](https://drafts.csswg.org/css-logical-1/#propdef-inline-size), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#inline-size) - `isolation`: [Compositing and Blending Level 1](https://drafts.fxtf.org/compositing-1/#propdef-isolation), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#bidi-isolate) - `label`: [HTML Standard](https://html.spec.whatwg.org/multipage/forms.html#the-label-element), [Web App Manifest - Application Information](https://w3c.github.io/manifest-app-info/#dfn-label) - `left`: [CSS Positioned Layout Module Level 3](https://drafts.csswg.org/css-position-3/#propdef-left), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#physical-left) - `manifest`: [Web Application Manifest](https://w3c.github.io/manifest/#dfn-manifest), [EPUB 3.3](https://w3c.github.io/epub-specs/epub33/core/#dfn-manifest), [MiniApp Manifest](https://w3c.github.io/miniapp-manifest/#dfn-miniapp-manifest-s) - `map`: [HTML Standard](https://html.spec.whatwg.org/multipage/image-maps.html#the-map-element), [Infra Standard](https://infra.spec.whatwg.org/#ordered-map) - `margin`: [CSS Box Model Module Level 3](https://drafts.csswg.org/css-box-3/#margin), [CSS Box Model Module Level 3](https://drafts.csswg.org/css-box-3/#propdef-margin) - `mask`: [CSS Masking Module Level 1](https://drafts.fxtf.org/css-masking-1/#propdef-mask), [CSS Masking Module Level 1](https://drafts.fxtf.org/css-masking-1/#elementdef-mask) - `mask-position`: [CSS Masking Module Level 1](https://drafts.fxtf.org/css-masking-1/#mask-position), [CSS Masking Module Level 1](https://drafts.fxtf.org/css-masking-1/#propdef-mask-position) - `mask-size`: [CSS Masking Module Level 1](https://drafts.fxtf.org/css-masking-1/#mask-size), [CSS Masking Module Level 1](https://drafts.fxtf.org/css-masking-1/#propdef-mask-size) - `metadata`: [EPUB 3.3](https://w3c.github.io/epub-specs/epub33/core/#dfn-metadata), [Internationalization Glossary](https://w3c.github.io/i18n-glossary/#def_metadata), [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/struct.html#elementdef-metadata) - `object`: [HTML Standard](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element), [Web IDL Standard](https://webidl.spec.whatwg.org/#idl-object), [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/#dfn-object), [RDF 1.1 Semantics](https://www.w3.org/TR/rdf11-mt/#dfn-object) - `overflow`: [CSS Overflow Module Level 3](https://drafts.csswg.org/css-overflow-3/#overflow), [CSS Overflow Module Level 3](https://drafts.csswg.org/css-overflow-3/#propdef-overflow) - `pause`: [HTML Standard](https://html.spec.whatwg.org/multipage/webappapis.html#pause), [CSS Speech Module Level 1](https://drafts.csswg.org/css-speech-1/#propdef-pause) - `right`: [CSS Positioned Layout Module Level 3](https://drafts.csswg.org/css-position-3/#propdef-right), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#physical-right) - `script`: [HTML Standard](https://html.spec.whatwg.org/multipage/scripting.html#script), [HTML Standard](https://html.spec.whatwg.org/multipage/webappapis.html#concept-script), [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/interact.html#elementdef-script) - `set`: [Infra Standard](https://infra.spec.whatwg.org/#ordered-set), [SVG Animations](https://svgwg.org/specs/animations/#elementdef-set) - `slot`: [DOM Standard](https://dom.spec.whatwg.org/#concept-slot), [HTML Standard](https://html.spec.whatwg.org/multipage/scripting.html#the-slot-element) - `source`: [HTML Standard](https://html.spec.whatwg.org/multipage/embedded-content.html#the-source-element), [Media Capture and Streams](https://w3c.github.io/mediacapture-main/#dfn-source) - `span`: [HTML Standard](https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-span-element), [CSS Table Module Level 3](https://drafts.csswg.org/css-tables-3/#span) - `stroke`: [CSS Fill and Stroke Module Level 3](https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke), [SVG Strokes](https://svgwg.org/specs/strokes/#StrokeProperty) - `stroke-dasharray`: [CSS Fill and Stroke Module Level 3](https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-dasharray), [SVG Strokes](https://svgwg.org/specs/strokes/#StrokeDasharrayProperty) - `stroke-dashoffset`: [CSS Fill and Stroke Module Level 3](https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-dashoffset), [SVG Strokes](https://svgwg.org/specs/strokes/#StrokeDashoffsetProperty) - `stroke-linecap`: [CSS Fill and Stroke Module Level 3](https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-linecap), [SVG Strokes](https://svgwg.org/specs/strokes/#StrokeLinecapProperty) - `stroke-linejoin`: [CSS Fill and Stroke Module Level 3](https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-linejoin), [SVG Strokes](https://svgwg.org/specs/strokes/#StrokeLinejoinProperty) - `stroke-miterlimit`: [CSS Fill and Stroke Module Level 3](https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-miterlimit), [SVG Strokes](https://svgwg.org/specs/strokes/#StrokeMiterlimitProperty) - `stroke-opacity`: [CSS Fill and Stroke Module Level 3](https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-opacity), [SVG Strokes](https://svgwg.org/specs/strokes/#StrokeOpacityProperty) - `stroke-width`: [CSS Fill and Stroke Module Level 3](https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-width), [SVG Strokes](https://svgwg.org/specs/strokes/#StrokeWidthProperty) - `style`: [HTML Standard](https://html.spec.whatwg.org/multipage/semantics.html#the-style-element), [MathML Core](https://w3c.github.io/mathml-core/#dfn-style), [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/styling.html#elementdef-style) - `symbol`: [Web IDL Standard](https://webidl.spec.whatwg.org/#idl-symbol), [Scalable Vector Graphics (SVG) 2](https://svgwg.org/svg2-draft/struct.html#elementdef-symbol) - `top`: [CSS Positioned Layout Module Level 3](https://drafts.csswg.org/css-position-3/#propdef-top), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#physical-top) - `URL`: [URL Standard](https://url.spec.whatwg.org/#concept-url), [URL Standard](https://url.spec.whatwg.org/#url) - `width`: [CSS Box Sizing Module Level 3](https://drafts.csswg.org/css-sizing-3/#propdef-width), [CSS Box Sizing Module Level 3](https://drafts.csswg.org/css-sizing-3/#width), [CSS Writing Modes Level 4](https://drafts.csswg.org/css-writing-modes-4/#width), [Screen Capture](https://w3c.github.io/mediacapture-screen-share/#dfn-width) - `||`: [CSS Values and Units Module Level 4](https://drafts.csswg.org/css-values-4/#comb-any), [Selectors Level 4](https://drafts.csswg.org/selectors-4/#selectordef-column)
Duplicate IDL dfns (11 found) - `DOMParser`: [HTML Standard](https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#domparser), [Trusted Types](https://w3c.github.io/trusted-types/dist/spec/#domparser) - `EvalError`: [ECMAScript® 2023 Language Specification](https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-native-error-types-used-in-this-standard-evalerror), [Web IDL Standard](https://webidl.spec.whatwg.org/#exceptiondef-evalerror) - `MessageEventSource`: [HTML Standard](https://html.spec.whatwg.org/multipage/comms.html#messageeventsource), [Portals](https://wicg.github.io/portals/#typedefdef-messageeventsource) - `MutationEvent`: [DOM Standard](https://dom.spec.whatwg.org/#mutationevent), [UI Events](https://w3c.github.io/uievents/#mutationevent) - `PermissionState`: [DeviceOrientation Event Specification](https://w3c.github.io/deviceorientation/#enumdef-permissionstate), [Permissions](https://w3c.github.io/permissions/#dom-permissionstate) - `RangeError`: [ECMAScript® 2023 Language Specification](https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-native-error-types-used-in-this-standard-rangeerror), [Web IDL Standard](https://webidl.spec.whatwg.org/#exceptiondef-rangeerror) - `ReferenceError`: [ECMAScript® 2023 Language Specification](https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-native-error-types-used-in-this-standard-referenceerror), [Web IDL Standard](https://webidl.spec.whatwg.org/#exceptiondef-referenceerror) - `RTCStats`: [Identifiers for WebRTC's Statistics API](https://w3c.github.io/webrtc-stats/#dom-rtcstats), [WebRTC 1.0: Real-Time Communication Between Browsers](https://w3c.github.io/webrtc-pc/#dom-rtcstats) - `SyntaxError`: [ECMAScript® 2023 Language Specification](https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-native-error-types-used-in-this-standard-syntaxerror), [Web IDL Standard](https://webidl.spec.whatwg.org/#syntaxerror) - `TypeError`: [ECMAScript® 2023 Language Specification](https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-native-error-types-used-in-this-standard-typeerror), [Web IDL Standard](https://webidl.spec.whatwg.org/#exceptiondef-typeerror) - `URIError`: [ECMAScript® 2023 Language Specification](https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-native-error-types-used-in-this-standard-urierror), [Web IDL Standard](https://webidl.spec.whatwg.org/#exceptiondef-urierror)
tidoust commented 1 year ago

Reflecting on the duplicate IDL dfns:

dontcallmedom commented 1 year ago

RTCStats: definition in WebRTC Stats is informative (but exported).

Marking the definition as non-exported should be an easily accepted patch there

EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError: Shouldn't Web IDL reference definitions in ECMAScript rather than define the terms? Or do we want to prefer Web IDL definitions because they are closer to relevant algorithms for Web specs?

From the discussion in https://github.com/w3c/reffy/pull/732, I believe it was indeed preferred to keep WebIDL as an intermediary, although I'm not sure how deeply discussed this was.

dontcallmedom commented 1 year ago

Duplicate dfns with same type

Some of these are different concepts altogether of terms that happen to be the same across specs (e.g. an attribute in DOM is quite different from an attribute in WebIDL); some of these are for concepts that are pretty close but not fully equivalent definitions (e.g. surrogate in Infra & I18N glossary); some of these are explicitly duplicate definitions that happen to be repeated for mostly logistical / editorial reasons (e.g. the overlap between rdf concepts & rdf semantics; the duplicates across CSS modules).

I think these 3 categories probably lead to different type of solutions: