@markuplint/html-spec 4.8.2 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +14 -3
  2. package/index.json +22 -69
  3. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -3,16 +3,27 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [4.8.2](https://github.com/markuplint/markuplint/compare/@markuplint/html-spec@4.8.1...@markuplint/html-spec@4.8.2) (2024-06-25)
6
+ # [4.9.0](https://github.com/markuplint/markuplint/compare/@markuplint/html-spec@4.8.2...@markuplint/html-spec@4.9.0) (2024-09-02)
7
7
 
8
8
 
9
- ### Bug Fixes
9
+ ### Features
10
+
11
+ * **html-spec:** add the `attributionsrc` attr as experimental to `a`, `img`, and `script` elements ([2f44802](https://github.com/markuplint/markuplint/commit/2f44802264e3b51fa8f264536637bf419c86ca05))
12
+ * **html-spec:** remove `onredo` and `onundo` attributes from the `body` element ([b428fb5](https://github.com/markuplint/markuplint/commit/b428fb5fcd3e0e28d9ed85eb93cf6aad7f081942))
13
+ * **html-spec:** remove attributes from the obsolete `menuitem` element ([32d8c41](https://github.com/markuplint/markuplint/commit/32d8c415b03fbe68d5513d16fcaebf7318d289bf))
14
+ * **html-spec:** remove the `cols` attribute from the `pre` element ([7605d7d](https://github.com/markuplint/markuplint/commit/7605d7db3c9dd40e190b37580d6fb53c75cff692))
15
+ * **html-spec:** remove the `manifest` attribute from the `html` element ([5954a44](https://github.com/markuplint/markuplint/commit/5954a4490018d178ae71324badfcf1a352d9b07f))
16
+ * **html-spec:** remove the `methods` attribute from the `link` element ([481a9b4](https://github.com/markuplint/markuplint/commit/481a9b49bef3f5b5546f569c24dd956b5a3dcd54))
10
17
 
11
- * **html-spec:** update content model for div element within dl element ([9d5ba90](https://github.com/markuplint/markuplint/commit/9d5ba90f0704748513bd257aab74584ff3cdaef3))
12
18
 
13
19
 
14
20
 
15
21
 
22
+ ## [4.8.2](https://github.com/markuplint/markuplint/compare/@markuplint/html-spec@4.8.1...@markuplint/html-spec@4.8.2) (2024-06-25)
23
+
24
+ ### Bug Fixes
25
+
26
+ - **html-spec:** update content model for div element within dl element ([9d5ba90](https://github.com/markuplint/markuplint/commit/9d5ba90f0704748513bd257aab74584ff3cdaef3))
16
27
 
17
28
  ## [4.8.1](https://github.com/markuplint/markuplint/compare/@markuplint/html-spec@4.8.0...@markuplint/html-spec@4.8.1) (2024-06-09)
18
29
 
package/index.json CHANGED
@@ -8386,7 +8386,7 @@
8386
8386
  },
8387
8387
  {
8388
8388
  "name": "progressbar",
8389
- "description": "An element that displays the progress status for tasks that take a long time.\n\nA progressbar indicates that the user's request has been received and the application is making progress toward completing the requested action.\n\nAuthors MAY set aria-valuemin and aria-valuemax to indicate the minimum and maximum progress indicator values. Otherwise, their implicit values follow the same rules as <input type=\"range\"> in HTML:\n\n\n\nThe author SHOULD supply a value for aria-valuenow unless the value is indeterminate, in which case the author SHOULD omit the aria-valuenow attribute. Authors SHOULD update this value when the visual progress indicator is updated. If the progressbar is describing the loading progress of a particular region of a page, authors SHOULD both use aria-describedby to reference the progressbar status, and set the aria-busy attribute to true on the region until it is finished loading. It is not possible for the user to alter the value of a progressbar because it is always read-only.\n\nAssistive technologies generally will render the value of aria-valuenow as a percent of a range between the value of aria-valuemin and aria-valuemax, unless aria-valuetext is specified.",
8389
+ "description": "An element that displays the progress status for tasks that take a long time.\n\nA progressbar indicates that the user's request has been received and the application is making progress toward completing the requested action.\n\nAuthors MAY set aria-valuemin and aria-valuemax to indicate the minimum and maximum progress indicator values. Otherwise, their implicit values follow the same rules as <input type=\"range\"> in HTML:\n\nThe author SHOULD supply a value for aria-valuenow unless the value is indeterminate, in which case the author SHOULD omit the aria-valuenow attribute. Authors SHOULD update this value when the visual progress indicator is updated. If the progressbar is describing the loading progress of a particular region of a page, authors SHOULD both use aria-describedby to reference the progressbar status, and set the aria-busy attribute to true on the region until it is finished loading. It is not possible for the user to alter the value of a progressbar because it is always read-only.\n\nAssistive technologies generally will render the value of aria-valuenow as a percent of a range between the value of aria-valuemin and aria-valuemax, unless aria-valuetext is specified.",
8390
8390
  "generalization": ["range", "widget"],
8391
8391
  "requiredContextRole": [],
8392
8392
  "requiredOwnedElements": [],
@@ -35053,6 +35053,10 @@
35053
35053
  ]
35054
35054
  },
35055
35055
  "attributes": {
35056
+ "attributionsrc": {
35057
+ "description": "Specifies that you want the browser to send an Attribution-Reporting-Eligible header. On the server-side this is used to trigger sending an Attribution-Reporting-Register-Source header in the response, to register a navigation-based attribution source. The browser stores the source data associated with the navigation-based attribution source (as provided in the Attribution-Reporting-Register-Source response header) when the user clicks the link. See the Attribution Reporting API for more details. There are two versions of this attribute that you can set: Boolean, i.e. just the attributionsrc name. This specifies that you want the Attribution-Reporting-Eligible header sent to the same server as the href attribute points to. This is fine when you are handling the attribution source registration on the same server. Value containing one or more URLs, for example: htmlattributionsrc=\"https://a.example/register-source https://b.example/register-source\" This is useful in cases where the requested resource is not on a server you control, or you just want to handle registering the attribution source on a different server. In this case, you can specify one or more URLs as the value of attributionsrc. When the resource request occurs, the Attribution-Reporting-Eligible header will be sent to the URL(s) specified in attributionsrc in addition to the resource origin. These URLs can then respond with the Attribution-Reporting-Register-Source to complete registration. Note: Specifying multiple URLs means that multiple attribution sources can be registered on the same feature. You might for example have different campaigns that you are trying to measure the success of, which involve generating different reports on different data. <a> elements cannot be used as attribution triggers, only sources.",
35058
+ "experimental": true
35059
+ },
35056
35060
  "charset": {
35057
35061
  "description": "Hinted at the character encoding of the linked URL. Note: This attribute is deprecated and should not be used by authors. Use the HTTP Content-Type header on the linked URL.",
35058
35062
  "deprecated": true
@@ -35762,9 +35766,6 @@
35762
35766
  "onpopstate": {
35763
35767
  "type": "FunctionBody"
35764
35768
  },
35765
- "onredo": {
35766
- "description": "Function to call when the user has moved forward in undo transaction history."
35767
- },
35768
35769
  "onrejectionhandled": {
35769
35770
  "type": "FunctionBody"
35770
35771
  },
@@ -35774,9 +35775,6 @@
35774
35775
  "onstorage": {
35775
35776
  "type": "FunctionBody"
35776
35777
  },
35777
- "onundo": {
35778
- "description": "Function to call when the user has moved backward in undo transaction history."
35779
- },
35780
35778
  "onunhandledrejection": {
35781
35779
  "type": "FunctionBody"
35782
35780
  },
@@ -36381,7 +36379,7 @@
36381
36379
  {
36382
36380
  "name": "dfn",
36383
36381
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dfn",
36384
- "description": "The <dfn> HTML element indicates a term to be defined. The <dfn> element should be used in a complete definition statement, where the ancestor <p> element, the <dt>/<dd> pairing, or the nearest <section> ancestor of the <dfn> element, is considered to be the full definition of the term.",
36382
+ "description": "The <dfn> HTML element indicates a term to be defined. The <dfn> element should be used in a complete definition statement, where the full definition of the term can be one of the following:",
36385
36383
  "categories": ["#flow", "#phrasing", "#palpable"],
36386
36384
  "contentModel": {
36387
36385
  "contents": [
@@ -37181,7 +37179,7 @@
37181
37179
  {
37182
37180
  "name": "head",
37183
37181
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head",
37184
- "description": "The <head> HTML element contains machine-readable information (metadata) about the document, like its title, scripts, and style sheets.",
37182
+ "description": "The <head> HTML element contains machine-readable information (metadata) about the document, like its title, scripts, and style sheets. There can be only one <head> element in an HTML document.",
37185
37183
  "categories": [],
37186
37184
  "contentModel": {
37187
37185
  "contents": [
@@ -37351,7 +37349,7 @@
37351
37349
  {
37352
37350
  "name": "html",
37353
37351
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html",
37354
- "description": "The <html> HTML element represents the root (top-level element) of an HTML document, so it is also referred to as the root element. All other elements must be descendants of this element.",
37352
+ "description": "The <html> HTML element represents the root (top-level element) of an HTML document, so it is also referred to as the root element. All other elements must be descendants of this element. There can be only one <html> element in a document.",
37355
37353
  "categories": [],
37356
37354
  "contentModel": {
37357
37355
  "contents": [
@@ -37375,10 +37373,6 @@
37375
37373
  "#HTMLGlobalAttrs": true
37376
37374
  },
37377
37375
  "attributes": {
37378
- "manifest": {
37379
- "description": "Specifies the URI of a resource manifest indicating resources that should be cached locally.",
37380
- "deprecated": true
37381
- },
37382
37376
  "version": {
37383
37377
  "description": "Specifies the version of the HTML Document Type Definition that governs the current document. This attribute is not needed, because it is redundant with the version information in the document type declaration.",
37384
37378
  "deprecated": true
@@ -37622,6 +37616,10 @@
37622
37616
  "alt": {
37623
37617
  "type": "Any"
37624
37618
  },
37619
+ "attributionsrc": {
37620
+ "description": "specifies that you want the browser to send an Attribution-Reporting-Eligible header along with the image request. On the server-side this is used to trigger sending an Attribution-Reporting-Register-Source or Attribution-Reporting-Register-Trigger header in the response, to register an image-based attribution source or attribution trigger, respectively. Which response header should be sent back depends on the value of the Attribution-Reporting-Eligible header that triggered the registration. The corresponding source or trigger event is set off once the browser receives the response containing the image file. Note: See the Attribution Reporting API for more details. There are two versions of this attribute that you can set: Boolean, i.e. just the attributionsrc name. This specifies that you want the Attribution-Reporting-Eligible header sent to the same server as the src attribute points to. This is fine when you are handling the attribution source or trigger registration on the same server. When registering an attribution trigger this property is optional, and a boolean value will be used if it is omitted. Value containing one or more URLs, for example: html<img src=\"image-file.png\" alt=\"My image file description\" attributionsrc=\"https://a.example/register-source https://b.example/register-source\" /> This is useful in cases where the requested resource is not on a server you control, or you just want to handle registering the attribution source on a different server. In this case, you can specify one or more URLs as the value of attributionsrc. When the resource request occurs the Attribution-Reporting-Eligible header will be sent to the URL(s) specified in attributionSrc in addition to the resource origin. These URLs can then respond with a Attribution-Reporting-Register-Source or Attribution-Reporting-Register-Trigger header as appropriate to complete registration. Note: Specifying multiple URLs means that multiple attribution sources can be registered on the same feature. You might for example have different campaigns that you are trying to measure the success of, which involve generating different reports on different data.",
37621
+ "experimental": true
37622
+ },
37625
37623
  "border": {
37626
37624
  "description": "The width of a border around the image. Use the border CSS property instead.",
37627
37625
  "deprecated": true
@@ -38831,11 +38829,6 @@
38831
38829
  "media": {
38832
38830
  "description": "This attribute specifies the media that the linked resource applies to. Its value must be a media type / media query. This attribute is mainly useful when linking to external stylesheets — it allows the user agent to pick the best adapted one for the device it runs on."
38833
38831
  },
38834
- "methods": {
38835
- "description": "The value of this attribute provides information about the functions that might be performed on an object. The values generally are given by the HTTP protocol when it is used, but it might (for similar reasons as for the title attribute) be useful to include advisory information in advance in the link. For example, the browser might choose a different rendering of a link as a function of the methods specified; something that is searchable might get a different icon, or an outside link might render with an indication of leaving the current site. This attribute is not well understood nor supported, even by the defining browser, Internet Explorer 4.",
38836
- "deprecated": true,
38837
- "nonStandard": true
38838
- },
38839
38832
  "referrerpolicy": {
38840
38833
  "description": "A string indicating which referrer to use when fetching the resource: no-referrer means that the Referer header will not be sent. no-referrer-when-downgrade means that no Referer header will be sent when navigating to an origin without TLS (HTTPS). This is a user agent's default behavior, if no policy is otherwise specified. origin means that the referrer will be the origin of the page, which is roughly the scheme, the host, and the port. origin-when-cross-origin means that navigating to other origins will be limited to the scheme, the host, and the port, while navigating on the same origin will include the referrer's path. unsafe-url means that the referrer will include the origin and the path (but not the fragment, password, or username). This case is unsafe because it can leak origins and paths from TLS-protected resources to insecure origins."
38841
38834
  },
@@ -39145,7 +39138,7 @@
39145
39138
  {
39146
39139
  "name": "menuitem",
39147
39140
  "cite": "https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features",
39148
- "description": "The <menuitem> HTML element represents a command that a user is able to invoke through a popup menu. This includes context menus, as well as menus that might be attached to a menu button.",
39141
+ "description": "This page lists all the HTML elements, which are created using tags.",
39149
39142
  "categories": [],
39150
39143
  "contentModel": {
39151
39144
  "contents": true
@@ -39157,46 +39150,7 @@
39157
39150
  "omission": false,
39158
39151
  "obsolete": true,
39159
39152
  "globalAttrs": {},
39160
- "attributes": {
39161
- "checked": {
39162
- "description": "Boolean attribute which indicates whether the command is selected. May only be used when the type attribute is checkbox or radio.",
39163
- "deprecated": true,
39164
- "nonStandard": true
39165
- },
39166
- "command": {
39167
- "description": "Specifies the ID of a separate element, indicating a command to be invoked indirectly. May not be used within a menu item that also includes the attributes checked, disabled, icon, label, radiogroup or type.",
39168
- "deprecated": true,
39169
- "nonStandard": true
39170
- },
39171
- "default": {
39172
- "description": "This Boolean attribute indicates use of the same command as the menu's subject element (such as a button or input).",
39173
- "deprecated": true,
39174
- "nonStandard": true
39175
- },
39176
- "disabled": {
39177
- "description": "Boolean attribute which indicates that the command is not available in the current state. Note that disabled is distinct from hidden; the disabled attribute is appropriate in any context where a change in circumstances might render the command relevant.",
39178
- "deprecated": true,
39179
- "nonStandard": true
39180
- },
39181
- "icon": {
39182
- "description": "Image URL, used to provide a picture to represent the command.",
39183
- "deprecated": true,
39184
- "nonStandard": true
39185
- },
39186
- "label": {
39187
- "description": "The name of the command as shown to the user. Required when a command attribute is not present."
39188
- },
39189
- "radiogroup": {
39190
- "description": "This attribute specifies the name of a group of commands to be toggled as radio buttons when selected. May only be used where the type attribute is radio.",
39191
- "deprecated": true,
39192
- "nonStandard": true
39193
- },
39194
- "type": {
39195
- "description": "This attribute indicates the kind of command, and can be one of three values. command: A regular command with an associated action. This is the missing value default. checkbox: Represents a command that can be toggled between two different states. radio: Represent one selection from a group of commands that can be toggled as radio buttons.",
39196
- "deprecated": true,
39197
- "nonStandard": true
39198
- }
39199
- }
39153
+ "attributes": {}
39200
39154
  },
39201
39155
  {
39202
39156
  "name": "meta",
@@ -39944,11 +39898,6 @@
39944
39898
  "#HTMLGlobalAttrs": true
39945
39899
  },
39946
39900
  "attributes": {
39947
- "cols": {
39948
- "description": "Contains the preferred count of characters that a line should have. It was a non-standard synonym of width. To achieve such an effect, use CSS width instead.",
39949
- "deprecated": true,
39950
- "nonStandard": true
39951
- },
39952
39901
  "width": {
39953
39902
  "description": "Contains the preferred count of characters that a line should have. Though technically still implemented, this attribute has no visual effect; to achieve such an effect, use CSS width instead.",
39954
39903
  "deprecated": true,
@@ -40255,6 +40204,10 @@
40255
40204
  "condition": ["[src]", "[type='module' i]"],
40256
40205
  "ineffective": ":not([src]):not([type='module' i])"
40257
40206
  },
40207
+ "attributionsrc": {
40208
+ "description": "Specifies that you want the browser to send an Attribution-Reporting-Eligible header along with the script resource request. On the server-side this is used to trigger sending an Attribution-Reporting-Register-Source or Attribution-Reporting-Register-Trigger header in the response, to register a JavaScript-based attribution source or attribution trigger, respectively. Which response header should be sent back depends on the value of the Attribution-Reporting-Eligible header that triggered the registration. Note: Alternatively, JavaScript-based attribution sources or triggers can be registered by sending a fetch() request containing the attributionReporting option (either set directly on the fetch() call or on a Request object passed into the fetch() call), or by sending an XMLHttpRequest with setAttributionReporting() invoked on the request object. There are two versions of this attribute that you can set: Boolean, i.e. just the attributionsrc name. This specifies that you want the Attribution-Reporting-Eligible header sent to the same server as the src attribute points to. This is fine when you are handling the attribution source or trigger registration on the same server. When registering an attribution trigger this property is optional, and an empty string value will be used if it is omitted. Value containing one or more URLs, for example: html<script src=\"myscript.js\" attributionsrc=\"https://a.example/register-source https://b.example/register-source\"></script> This is useful in cases where the requested resource is not on a server you control, or you just want to handle registering the attribution source on a different server. In this case, you can specify one or more URLs as the value of attributionsrc. When the resource request occurs the Attribution-Reporting-Eligible header will be sent to the URL(s) specified in attributionSrc in addition to the resource origin. These URLs can then respond with a Attribution-Reporting-Register-Source or Attribution-Reporting-Register-Trigger header as appropriate to complete registration. Note: Specifying multiple URLs means that multiple attribution sources can be registered on the same feature. You might for example have different campaigns that you are trying to measure the success of, which involve generating different reports on different data. See the Attribution Reporting API for more details.",
40209
+ "experimental": true
40210
+ },
40258
40211
  "blocking": {
40259
40212
  "type": {
40260
40213
  "token": {
@@ -41152,7 +41105,7 @@
41152
41105
  "defaultValue": "20"
41153
41106
  },
41154
41107
  "dirname": {
41155
- "description": "This attribute is used to indicate the text directionality of the element contents similar to the dirname attribute of the <input> element. For more information, see the dirname attribute."
41108
+ "description": "This attribute is used to indicate the text directionality of the element contents. For more information, see the dirname attribute."
41156
41109
  },
41157
41110
  "disabled": {
41158
41111
  "description": "This Boolean attribute indicates that the user cannot interact with the control. If this attribute is not specified, the control inherits its setting from the containing element, for example <fieldset>; if there is no containing element when the disabled attribute is set, the control is enabled."
@@ -41497,7 +41450,7 @@
41497
41450
  {
41498
41451
  "name": "track",
41499
41452
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track",
41500
- "description": "The <track> HTML element is used as a child of the media elements, <audio> and <video>. It lets you specify timed text tracks (or time-based data), for example to automatically handle subtitles. The tracks are formatted in WebVTT format (.vtt files) Web Video Text Tracks.",
41453
+ "description": "The <track> HTML element is used as a child of the media elements, <audio> and <video>. Each track element lets you specify a timed text track (or time-based data) that can be displayed in parallel with the media element, for example to overlay subtitles or closed captions on top of a video or alongside audio tracks.",
41501
41454
  "categories": [],
41502
41455
  "contentModel": {
41503
41456
  "contents": false
@@ -41727,7 +41680,7 @@
41727
41680
  },
41728
41681
  "attributes": {
41729
41682
  "autoplay": {
41730
- "description": "A Boolean attribute; if specified, the video automatically begins to play back as soon as it can do so without stopping to finish loading the data. Note: Sites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users, so should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control. See our autoplay guide for additional information about how to properly use autoplay. To disable video autoplay, autoplay=\"false\" will not work; the video will autoplay if the attribute is there in the <video> tag at all. To remove autoplay, the attribute needs to be removed altogether. In some browsers (e.g. Chrome 70.0) autoplay doesn't work if no muted attribute is present."
41683
+ "description": "A Boolean attribute; if specified, the video automatically begins to play back as soon as it can without stopping to finish loading the data. Note: Modern browsers block audio (or videos with an unmuted audio track) from autoplaying, as sites that automatically play audio can be an unpleasant experience for users. See our autoplay guide for additional information about how to properly use autoplay. To disable video autoplay, autoplay=\"false\" will not work; the video will autoplay if the attribute is there in the <video> tag at all. To remove autoplay, the attribute needs to be removed altogether."
41731
41684
  },
41732
41685
  "controls": {
41733
41686
  "description": "If this attribute is present, the browser will offer controls to allow the user to control video playback, including volume, seeking, and pause/resume playback."
@@ -41759,7 +41712,7 @@
41759
41712
  "description": "A Boolean attribute; if specified, the browser will automatically seek back to the start upon reaching the end of the video."
41760
41713
  },
41761
41714
  "muted": {
41762
- "description": "A Boolean attribute that indicates the default setting of the audio contained in the video. If set, the audio will be initially silenced. Its default value is false, meaning that the audio will be played when the video is played."
41715
+ "description": "A Boolean attribute that indicates the default audio mute setting contained in the video. If set, the audio will be initially silenced. Its default value is false, meaning the audio will be played when the video is played."
41763
41716
  },
41764
41717
  "playsinline": {
41765
41718
  "type": "Boolean"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markuplint/html-spec",
3
- "version": "4.8.2",
3
+ "version": "4.9.0",
4
4
  "description": "A specification of HTML Living Standard for markuplint",
5
5
  "repository": "git@github.com:markuplint/markuplint.git",
6
6
  "author": "Yusuke Hirao <yusukehirao@me.com>",
@@ -27,11 +27,11 @@
27
27
  "gen:prettier": "prettier --write index.json"
28
28
  },
29
29
  "devDependencies": {
30
- "@markuplint/spec-generator": "4.6.5",
31
- "@markuplint/test-tools": "4.5.5"
30
+ "@markuplint/spec-generator": "4.6.6",
31
+ "@markuplint/test-tools": "4.5.6"
32
32
  },
33
33
  "dependencies": {
34
- "@markuplint/ml-spec": "4.6.3"
34
+ "@markuplint/ml-spec": "4.6.4"
35
35
  },
36
- "gitHead": "05fdca254661ec335ff0cae4c6a11db164b032b9"
36
+ "gitHead": "77cd5a25d5cf28c83253b7bfe02cd25b54e236b0"
37
37
  }