@markuplint/html-spec 3.9.0 → 3.11.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 (2) hide show
  1. package/index.json +68 -212
  2. package/package.json +5 -5
package/index.json CHANGED
@@ -145,9 +145,6 @@
145
145
  "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/xmp",
146
146
  "https://developer.mozilla.org/en-US/docs/Web/SVG/Element",
147
147
  "https://developer.mozilla.org/en-US/docs/Web/SVG/Element/a",
148
- "https://developer.mozilla.org/en-US/docs/Web/SVG/Element/altGlyph",
149
- "https://developer.mozilla.org/en-US/docs/Web/SVG/Element/altGlyphDef",
150
- "https://developer.mozilla.org/en-US/docs/Web/SVG/Element/altGlyphItem",
151
148
  "https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animate",
152
149
  "https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateMotion",
153
150
  "https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateTransform",
@@ -632,6 +629,30 @@
632
629
  "onwheel": {
633
630
  "type": "FunctionBody"
634
631
  },
632
+ "onanimationstart": {
633
+ "type": "FunctionBody"
634
+ },
635
+ "onanimationiteration": {
636
+ "type": "FunctionBody"
637
+ },
638
+ "onanimationend": {
639
+ "type": "FunctionBody"
640
+ },
641
+ "onanimationcancel": {
642
+ "type": "FunctionBody"
643
+ },
644
+ "ontransitionrun": {
645
+ "type": "FunctionBody"
646
+ },
647
+ "ontransitionstart": {
648
+ "type": "FunctionBody"
649
+ },
650
+ "ontransitionend": {
651
+ "type": "FunctionBody"
652
+ },
653
+ "ontransitioncancel": {
654
+ "type": "FunctionBody"
655
+ },
635
656
  "onwebkitanimationend": {
636
657
  "type": "FunctionBody",
637
658
  "deprecated": true
@@ -715,7 +736,7 @@
715
736
  "unsafe-url"
716
737
  ]
717
738
  },
718
- "condition": "[href]",
739
+ "condition": "[href], [src]",
719
740
  "defaultValue": "strict-origin-when-cross-origin"
720
741
  },
721
742
  "loading": {
@@ -8089,7 +8110,7 @@
8089
8110
  },
8090
8111
  {
8091
8112
  "name": "none",
8092
- "description": "An element whose implicit native role semantics will not be mapped to the accessibility API. See synonym presentation.\n\nIn ARIA 1.1, the working group introduced none as a synonym to the presentation role, due to author confusion surrounding the intended meaning of the word \"presentation\" or \"presentational.\" Many individuals erroneously consider role=\"presentation\" to be synonymous with aria-hidden=\"true\", and we believe role=\"none\" conveys the actual meaning more unambiguously.",
8113
+ "description": "An element whose implicit native role semantics will not be mapped to the accessibility API. See synonym presentation.\n\nIn ARIA 1.1, the working group introduced none as a synonym to the presentation role, due to author confusion surrounding the intended meaning of the word \"presentation\" or \"presentational.\" Many individuals erroneously consider role=\"presentation\" to be synonymous with aria-hidden=\"true\", and we believe role=\"none\" conveys the actual meaning more unambiguously.\n\nThe intended use is when an element is used to change the look of the page but does not have all the functional, interactive, or structural relevance implied by the element type, or can be used to provide for an accessible fallback in older browsers that do not support WAI-ARIA.\n\nExample use cases:\n\nFor any element with a role of none/presentation and which is not focusable, the user agent MUST NOT expose the implicit native semantics of the element (the role and its states and properties) to accessibility APIs. However, the user agent MUST expose content and descendant elements that do not have an explicit or inherited role of none/presentation. Thus, the none/presentation role causes a given element to be treated as having no role or to be removed from the accessibility tree, but does not cause the content contained within the element to be removed from the accessibility tree.\n\nFor example, the following two markup snippets will be exposed similarly to an accessibility API.\n\nIn HTML, the <img> element is treated as a single entity regardless of the type of image file. Consequently, using role=\"none\" or role=\"presentation\" on an HTML img is equivalent to using aria-hidden=\"true\". In order to make the image contents accessible, authors can embed the object using an <object> or <iframe> element, or use inline SVG code, and follow the accessibility guidelines for the image content.\n\nAuthors SHOULD NOT provide meaningful alternative text (for example, use alt=\"\" in HTML) when the none/presentation role is applied to an image.\n\nIn the following code sample, the containing img and is appropriately labeled by the caption paragraph. In this example the img element can be marked as none/presentation because the role and the text alternatives are provided by the containing element.\n\nIn the following code sample, because the anchor (HTML a element) is acting as the treeitem, the list item (HTML li element) is assigned an explicit WAI-ARIA role of none/presentation to override the user agent's implicit native semantics for list items.\n\nThe none/presentation role is used on an element that has implicit native semantics, meaning that there is a default accessibility API role for the element. Some elements are only complete when additional descendant elements are provided. For example, in HTML, table elements (matching the table role) require tr descendants (which have an implicit row role), which in turn require th or td children (the columnheader or rowheader and cell roles, respectively). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described in WAI-ARIA as Allowed Accessibility Child Roles.\n\nWhen an explicit or inherited role of none/presentation is applied to an element with the implicit semantic of a WAI-ARIA role that has Allowed Accessibility Child Roles, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none to any owned elements that do not have an explicit role defined. Also, when an explicit or inherited role of none/presentation is applied to a host language element which has specifically allowed children as defined by the host language specification, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none to any specifically allowed children that do not have an explicit role defined.\n\nFor any element with an explicit or inherited role of none/presentation and which is not focusable, user agents MUST ignore role-specific WAI-ARIA states and properties for that element. For example, in HTML, a ul or ol element with a role of none/presentation will have the implicit native semantics of its li elements removed because the list role to which the ul or ol corresponds has an Allowed Accessibility Child Role of listitem. Likewise, the implicit native semantics of an HTML table element's thead/tbody/tfoot/tr/th/td descendants will also be removed, because the HTML specification indicates that these are required structural descendants of the table element.\n\nOnly the implicit native semantics of elements that correspond to WAI-ARIA Allowed Accessibility Child Roles are removed. All other content remains intact, including nested tables or lists, unless those elements also have an explicit role of none/presentation specified.\n\nFor example, according to an accessibility API, the following markup elements might have identical or very similar role semantics (generic or none role) and identical content.\n\nThere are other WAI-ARIA roles with specific allowed children for which this situation is applicable (e.g., feeds and listboxes), but tables and lists are the most common real-world cases in which the none/presentation inheritance is likely to apply.\n\nFor any element with an explicit or inherited role of none/presentation, user agents MUST apply an inherited role of none to all host-language-specific labeling elements for the presentational element. For example, a table element with a role of none/presentation will have the implicit native semantics of its caption element removed, because the caption is merely a label for the presentational table.\n\nInformation about resolving conflicts in the none/presentation role has been moved to Handling Author Errors",
8093
8114
  "generalization": ["structure"],
8094
8115
  "requiredContextRole": [],
8095
8116
  "requiredOwnedElements": [],
@@ -8541,7 +8562,7 @@
8541
8562
  },
8542
8563
  {
8543
8564
  "name": "presentation",
8544
- "description": "An element whose implicit native role semantics will not be mapped to the accessibility API. See synonym none.\n\nIn ARIA 1.1, the working group introduced none as a synonym to the presentation role, due to author confusion surrounding the intended meaning of the word \"presentation\" or \"presentational.\" Many individuals erroneously consider role=\"presentation\" to be synonymous with aria-hidden=\"true\", and we believe role=\"none\" conveys the actual meaning more unambiguously.\n\nThe intended use is when an element is used to change the look of the page but does not have all the functional, interactive, or structural relevance implied by the element type, or can be used to provide for an accessible fallback in older browsers that do not support WAI-ARIA.\n\nExample use cases:\n\nFor any element with a role of presentation and which is not focusable, the user agent MUST NOT expose the implicit native semantics of the element (the role and its states and properties) to accessibility APIs. However, the user agent MUST expose content and descendant elements that do not have an explicit or inherited role of presentation. Thus, the presentation role causes a given element to be treated as having no role or to be removed from the accessibility tree, but does not cause the content contained within the element to be removed from the accessibility tree.\n\nFor example, the following two markup snippets will be exposed similarly to an accessibility API.\n\nIn HTML, the <img> element is treated as a single entity regardless of the type of image file. Consequently, using role=\"presentation\" or role=\"none\" on an HTML img is equivalent to using aria-hidden=\"true\". In order to make the image contents accessible, authors can embed the object using an <object> or <iframe> element, or use inline SVG code, and follow the accessibility guidelines for the image content.\n\nAuthors SHOULD NOT provide meaningful alternative text (for example, use alt=\"\" in HTML) when the presentation role is applied to an image.\n\nIn the following code sample, the containing img and is appropriately labeled by the caption paragraph. In this example the img element can be marked as presentation because the role and the text alternatives are provided by the containing element.\n\nIn the following code sample, because the anchor (HTML a element) is acting as the treeitem, the list item (HTML li element) is assigned an explicit WAI-ARIA role of presentation to override the user agent's implicit native semantics for list items.\n\nThe presentation role is used on an element that has implicit native semantics, meaning that there is a default accessibility API role for the element. Some elements are only complete when additional descendant elements are provided. For example, in HTML, table elements (matching the table role) require tr descendants (which have an implicit row role), which in turn require th or td children (the columnheader or rowheader and cell roles, respectively). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described in WAI-ARIA as Allowed Accessibility Child Roles.\n\nWhen an explicit or inherited role of presentation is applied to an element with the implicit semantic of a WAI-ARIA role that has Allowed Accessibility Child Roles, in addition to the element with the explicit role of presentation, the user agent MUST apply an inherited role of presentation to any owned elements that do not have an explicit role defined. Also, when an explicit or inherited role of presentation is applied to a host language element which has specifically allowed children as defined by the host language specification, in addition to the element with the explicit role of presentation, the user agent MUST apply an inherited role of presentation to any specifically allowed children that do not have an explicit role defined.\n\nFor any element with an explicit or inherited role of presentation and which is not focusable, user agents MUST ignore role-specific WAI-ARIA states and properties for that element. For example, in HTML, a ul or ol element with a role of presentation will have the implicit native semantics of its li elements removed because the list role to which the ul or ol corresponds has an Allowed Accessibility Child Role of listitem. Likewise, the implicit native semantics of an HTML table element's thead/tbody/tfoot/tr/th/td descendants will also be removed, because the HTML specification indicates that these are required structural descendants of the table element.\n\nOnly the implicit native semantics of elements that correspond to WAI-ARIA Allowed Accessibility Child Roles are removed. All other content remains intact, including nested tables or lists, unless those elements also have an explicit role of presentation specified.\n\nFor example, according to an accessibility API, the following markup elements would appear to have identical role semantics (no roles) and identical content.\n\nThere are other WAI-ARIA roles with specific allowed children for which this situation is applicable (e.g., feeds and listboxes), but tables and lists are the most common real-world cases in which the presentation inheritance is likely to apply.\n\nFor any element with an explicit or inherited role of presentation, user agents MUST apply an inherited role of presentation to all host-language-specific labeling elements for the presentational element. For example, a table element with a role of presentation will have the implicit native semantics of its caption element removed, because the caption is merely a label for the presentational table.\n\nInformation about resolving conflicts in the presentation role has been moved to Handling Author Errors",
8565
+ "description": "An element whose implicit native role semantics will not be mapped to the accessibility API. See synonym none.\n\nIn ARIA 1.1, the working group introduced none as the preferred synonym to the presentation role, due to author confusion surrounding the intended meaning of the word \"presentation\" or \"presentational.\" Many individuals erroneously consider role=\"presentation\" to be synonymous with aria-hidden=\"true\", and the ARIA Working Group believes role=\"none\" conveys the actual meaning more unambiguously.",
8545
8566
  "generalization": ["structure"],
8546
8567
  "requiredContextRole": [],
8547
8568
  "requiredOwnedElements": [],
@@ -13473,7 +13494,6 @@
13473
13494
  "type": "property",
13474
13495
  "value": "true/false",
13475
13496
  "enum": [],
13476
- "defaultValue": "false",
13477
13497
  "isGlobal": true,
13478
13498
  "valueDescriptions": {
13479
13499
  "false": "Assistive technologies will present only the changed node or nodes.",
@@ -35457,7 +35477,7 @@
35457
35477
  {
35458
35478
  "name": "applet",
35459
35479
  "cite": "https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features",
35460
- "description": "The obsolete HTML Applet Element (<applet>) embeds a Java applet into the document; this element has been deprecated in favor of <object>.",
35480
+ "description": "",
35461
35481
  "categories": [],
35462
35482
  "contentModel": {
35463
35483
  "contents": true
@@ -35469,68 +35489,7 @@
35469
35489
  "omission": false,
35470
35490
  "obsolete": true,
35471
35491
  "globalAttrs": {},
35472
- "attributes": {
35473
- "align": {
35474
- "description": "This attribute is used to position the applet on the page relative to content that might flow around it. The HTML 4.01 specification defines values of bottom, left, middle, right, and top, whereas Microsoft and Netscape also might support absbottom, absmiddle, baseline, center, and texttop.",
35475
- "deprecated": true
35476
- },
35477
- "alt": {
35478
- "description": "This attribute causes a descriptive text alternate to be displayed on browsers that do not support Java. Page designers should also remember that content enclosed within the <applet> element may also be rendered as alternative text.",
35479
- "deprecated": true
35480
- },
35481
- "archive": {
35482
- "description": "This attribute refers to an archived or compressed version of the applet and its associated class files, which might help reduce download time.",
35483
- "deprecated": true
35484
- },
35485
- "code": {
35486
- "description": "This attribute specifies the URL of the applet's class file to be loaded and executed. Applet filenames are identified by a .class filename extension. The URL specified by code might be relative to the codebase attribute.",
35487
- "deprecated": true
35488
- },
35489
- "codebase": {
35490
- "description": "This attribute gives the absolute or relative URL of the directory where applets' .class files referenced by the code attribute are stored.",
35491
- "deprecated": true
35492
- },
35493
- "datafld": {
35494
- "description": "This attribute, supported by Internet Explorer 4 and higher, specifies the column name from the data source object that supplies the bound data. This attribute might be used to specify the various <param> elements passed to the Java applet.",
35495
- "deprecated": true
35496
- },
35497
- "datasrc": {
35498
- "description": "Like datafld, this attribute is used for data binding under Internet Explorer 4. It indicates the id of the data source object that supplies the data that is bound to the <param> elements associated with the applet.",
35499
- "deprecated": true
35500
- },
35501
- "height": {
35502
- "description": "This attribute specifies the height, in pixels, that the applet needs.",
35503
- "deprecated": true
35504
- },
35505
- "hspace": {
35506
- "description": "This attribute specifies additional horizontal space, in pixels, to be reserved on either side of the applet.",
35507
- "deprecated": true
35508
- },
35509
- "mayscript": {
35510
- "description": "In the Netscape implementation, this attribute allows access to an applet by programs in a scripting language embedded in the document.",
35511
- "deprecated": true
35512
- },
35513
- "name": {
35514
- "description": "This attribute assigns a name to the applet so that it can be identified by other resources; particularly scripts.",
35515
- "deprecated": true
35516
- },
35517
- "object": {
35518
- "description": "This attribute specifies the URL of a serialized representation of an applet.",
35519
- "deprecated": true
35520
- },
35521
- "src": {
35522
- "description": "As defined for Internet Explorer 4 and higher, this attribute specifies a URL for an associated file for the applet. The meaning and use is unclear and not part of the HTML standard.",
35523
- "deprecated": true
35524
- },
35525
- "vspace": {
35526
- "description": "This attribute specifies additional vertical space, in pixels, to be reserved above and below the applet.",
35527
- "deprecated": true
35528
- },
35529
- "width": {
35530
- "description": "This attribute specifies in pixels the width that the applet needs.",
35531
- "deprecated": true
35532
- }
35533
- }
35492
+ "attributes": {}
35534
35493
  },
35535
35494
  {
35536
35495
  "name": "area",
@@ -35824,7 +35783,7 @@
35824
35783
  {
35825
35784
  "name": "basefont",
35826
35785
  "cite": "https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features",
35827
- "description": "CSS Fonts is a module of CSS that defines font-related properties and how font resources are loaded. It lets you define the style of a font, such as its family, size and weight, line height, and the glyph variants to use when multiple are available for a single character.",
35786
+ "description": "The CSS fonts module defines font-related properties and how font resources are loaded. It lets you define the style of a font, such as its family, size and weight, line height, and the glyph variants to use when multiple are available for a single character.",
35828
35787
  "categories": [],
35829
35788
  "contentModel": {
35830
35789
  "contents": true
@@ -35901,7 +35860,7 @@
35901
35860
  {
35902
35861
  "name": "bgsound",
35903
35862
  "cite": "https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features",
35904
- "description": "The <bgsound> HTML element is deprecated. It sets up a sound file to play in the background while the page is used; use <audio> instead.",
35863
+ "description": "The <audio> HTML element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the <source> element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.",
35905
35864
  "categories": [],
35906
35865
  "contentModel": {
35907
35866
  "contents": true
@@ -35914,17 +35873,35 @@
35914
35873
  "obsolete": true,
35915
35874
  "globalAttrs": {},
35916
35875
  "attributes": {
35917
- "balance": {
35918
- "description": "This attribute defines a number between -10,000 and +10,000 that determines how the volume will be divided between the speakers."
35876
+ "autoplay": {
35877
+ "description": "A Boolean attribute: if specified, the audio will automatically begin playback as soon as it can do so, without waiting for the entire audio file to finish downloading. 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."
35878
+ },
35879
+ "controls": {
35880
+ "description": "If this attribute is present, the browser will offer controls to allow the user to control audio playback, including volume, seeking, and pause/resume playback."
35881
+ },
35882
+ "controlslist": {
35883
+ "description": "The controlslist attribute, when specified, helps the browser select what controls to show for the audio element whenever the browser shows its own set of controls (that is, when the controls attribute is specified). The allowed values are nodownload, nofullscreen and noremoteplayback.",
35884
+ "experimental": true,
35885
+ "nonStandard": true
35886
+ },
35887
+ "crossorigin": {
35888
+ "description": "This enumerated attribute indicates whether to use CORS to fetch the related audio file. CORS-enabled resources can be reused in the <canvas> element without being tainted. The allowed values are: anonymous Sends a cross-origin request without a credential. In other words, it sends the Origin: HTTP header without a cookie, X.509 certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (by not setting the Access-Control-Allow-Origin: HTTP header), the resource will be tainted, and its usage restricted. use-credentials Sends a cross-origin request with a credential. In other words, it sends the Origin: HTTP header with a cookie, a certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (through Access-Control-Allow-Credentials: HTTP header), the resource will be tainted and its usage restricted. When not present, the resource is fetched without a CORS request (i.e. without sending the Origin: HTTP header), preventing its non-tainted use in <canvas> elements. If invalid, it is handled as if the enumerated keyword anonymous was used. See CORS settings attributes for additional information."
35889
+ },
35890
+ "disableremoteplayback": {
35891
+ "description": "A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). See this proposed specification for more information. Note: In Safari, you can use x-webkit-airplay=\"deny\" as a fallback.",
35892
+ "experimental": true
35919
35893
  },
35920
35894
  "loop": {
35921
- "description": "This attribute indicates the number of times a sound is to be played and either has a numeric value or the keyword infinite."
35895
+ "description": "A Boolean attribute: if specified, the audio player will automatically seek back to the start upon reaching the end of the audio."
35922
35896
  },
35923
- "src": {
35924
- "description": "This attribute specifies the URL of the sound file to be played, which must be one of the following types: .wav, .au, or .mid."
35897
+ "muted": {
35898
+ "description": "A Boolean attribute that indicates whether the audio will be initially silenced. Its default value is false."
35925
35899
  },
35926
- "volume": {
35927
- "description": "This attribute defines a number between -10,000 and 0 that determines the loudness of a page's background sound."
35900
+ "preload": {
35901
+ "description": "This enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience. It may have one of the following values: none: Indicates that the audio should not be preloaded. metadata: Indicates that only audio metadata (e.g. length) is fetched. auto: Indicates that the whole audio file can be downloaded, even if the user is not expected to use it. empty string: A synonym of the auto value. The default value is different for each browser. The spec advises it to be set to metadata. Note: The autoplay attribute has precedence over preload. If autoplay is specified, the browser would obviously need to start downloading the audio for playback. The browser is not forced by the specification to follow the value of this attribute; it is a mere hint."
35902
+ },
35903
+ "src": {
35904
+ "description": "The URL of the audio to embed. This is subject to HTTP access controls. This is optional; you may instead use the <source> element within the audio block to specify the audio to embed."
35928
35905
  }
35929
35906
  }
35930
35907
  },
@@ -35948,7 +35925,7 @@
35948
35925
  {
35949
35926
  "name": "blink",
35950
35927
  "cite": "https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features",
35951
- "description": "The <blink> HTML element is a non-standard element which causes the enclosed text to flash slowly.",
35928
+ "description": "",
35952
35929
  "categories": [],
35953
35930
  "contentModel": {
35954
35931
  "contents": true
@@ -38693,7 +38670,7 @@
38693
38670
  "condition": ["[type='email' i]", "[type='file' i]"]
38694
38671
  },
38695
38672
  "name": {
38696
- "description": "A string specifying a name for the input control. This name is submitted along with the control's value when the form data is submitted. Consider the name a required attribute (even though it's not). If an input has no name specified, or name is empty, the input's value is not submitted with the form! (Disabled controls, unchecked radio buttons, unchecked checkboxes, and reset buttons are also not sent.) There are two special cases: _charset_ : If used as the name of an <input> element of type hidden, the input's value is automatically set by the user agent to the character encoding being used to submit the form. isindex: For historical reasons, the name isindex is not allowed. The name attribute creates a unique behavior for radio buttons. Only one radio button in a same-named group of radio buttons can be checked at a time. Selecting any radio button in that group automatically deselects any currently-selected radio button in the same group. The value of that one checked radio button is sent along with the name if the form is submitted, When tabbing into a series of same-named group of radio buttons, if one is checked, that one will receive focus. If they aren't grouped together in source order, if one of the group is checked, tabbing into the group starts when the first one in the group is encountered, skipping all those that aren't checked. In other words, if one is checked, tabbing skips the unchecked radio buttons in the group. If none are checked, the radio button group receives focus when the first button in the same name group is reached. Once one of the radio buttons in a group has focus, using the arrow keys will navigate through all the radio buttons of the same name, even if the radio buttons are not grouped together in the source order. When an input element is given a name, that name becomes a property of the owning form element's HTMLFormElement.elements property. If you have an input whose name is set to guest and another whose name is hat-size, the following code can be used: let form = document.querySelector(\"form\"); let guestName = form.elements.guest; let hatSize = form.elements[\"hat-size\"]; When this code has run, guestName will be the HTMLInputElement for the guest field, and hatSize the object for the hat-size field. Warning: Avoid giving form elements a name that corresponds to a built-in property of the form, since you would then override the predefined property or method with this reference to the corresponding input."
38673
+ "description": "A string specifying a name for the input control. This name is submitted along with the control's value when the form data is submitted. Consider the name a required attribute (even though it's not). If an input has no name specified, or name is empty, the input's value is not submitted with the form! (Disabled controls, unchecked radio buttons, unchecked checkboxes, and reset buttons are also not sent.) There are two special cases: _charset_ : If used as the name of an <input> element of type hidden, the input's value is automatically set by the user agent to the character encoding being used to submit the form. isindex: For historical reasons, the name isindex is not allowed. The name attribute creates a unique behavior for radio buttons. Only one radio button in a same-named group of radio buttons can be checked at a time. Selecting any radio button in that group automatically deselects any currently-selected radio button in the same group. The value of that one checked radio button is sent along with the name if the form is submitted, When tabbing into a series of same-named group of radio buttons, if one is checked, that one will receive focus. If they aren't grouped together in source order, if one of the group is checked, tabbing into the group starts when the first one in the group is encountered, skipping all those that aren't checked. In other words, if one is checked, tabbing skips the unchecked radio buttons in the group. If none are checked, the radio button group receives focus when the first button in the same name group is reached. Once one of the radio buttons in a group has focus, using the arrow keys will navigate through all the radio buttons of the same name, even if the radio buttons are not grouped together in the source order. When an input element is given a name, that name becomes a property of the owning form element's HTMLFormElement.elements property. If you have an input whose name is set to guest and another whose name is hat-size, the following code can be used: jslet form = document.querySelector(\"form\"); let guestName = form.elements.guest; let hatSize = form.elements[\"hat-size\"]; When this code has run, guestName will be the HTMLInputElement for the guest field, and hatSize the object for the hat-size field. Warning: Avoid giving form elements a name that corresponds to a built-in property of the form, since you would then override the predefined property or method with this reference to the corresponding input."
38697
38674
  },
38698
38675
  "orient": {
38699
38676
  "description": "Similar to the -moz-orient non-standard CSS property impacting the <progress> and <meter> elements, the orient attribute defines the orientation of the range slider. Values include horizontal, meaning the range is rendered horizontally, and vertical, where the range is rendered vertically.",
@@ -38944,7 +38921,7 @@
38944
38921
  {
38945
38922
  "name": "keygen",
38946
38923
  "cite": "https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features",
38947
- "description": "The <keygen> HTML element exists to facilitate generation of key material, and submission of the public key as part of an HTML form. This mechanism is designed for use with Web-based certificate management systems. It is expected that the <keygen> element will be used in an HTML form along with other information needed to construct a certificate request, and that the result of the process will be a signed certificate.",
38924
+ "description": "",
38948
38925
  "categories": [],
38949
38926
  "contentModel": {
38950
38927
  "contents": true
@@ -38956,26 +38933,7 @@
38956
38933
  "omission": false,
38957
38934
  "obsolete": true,
38958
38935
  "globalAttrs": {},
38959
- "attributes": {
38960
- "autofocus": {
38961
- "description": "This Boolean attribute lets you specify that the control should have input focus when the page loads, unless the user overrides it, for example by typing in a different control. Only one form element in a document can have the autofocus attribute, which is a Boolean."
38962
- },
38963
- "challenge": {
38964
- "description": "A challenge string that is submitted along with the public key. Defaults to an empty string if not specified."
38965
- },
38966
- "disabled": {
38967
- "description": "This Boolean attribute indicates that the form control is not available for interaction."
38968
- },
38969
- "form": {
38970
- "description": "The form element that this element is associated with (its form owner). The value of the attribute must be an id of a <form> element in the same document. If this attribute is not specified, this element must be a descendant of a <form> element. This attribute enables you to place <keygen> elements anywhere within a document, not just as descendants of their form elements."
38971
- },
38972
- "keytype": {
38973
- "description": "The type of key generated. The default value is RSA."
38974
- },
38975
- "name": {
38976
- "description": "The name of the control, which is submitted with the form data."
38977
- }
38978
- }
38936
+ "attributes": {}
38979
38937
  },
38980
38938
  {
38981
38939
  "name": "label",
@@ -40030,7 +39988,7 @@
40030
39988
  "permittedRoles": false,
40031
39989
  "properties": false,
40032
39990
  "conditions": {
40033
- "datalist > option": {
39991
+ ":is(select, select > option, datalist) > option": {
40034
39992
  "implicitRole": "option",
40035
39993
  "properties": {
40036
39994
  "global": true,
@@ -40931,7 +40889,7 @@
40931
40889
  {
40932
40890
  "name": "spacer",
40933
40891
  "cite": "https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features",
40934
- "description": "The <spacer> HTML element is an obsolete HTML element which allowed insertion of empty spaces on pages. It was devised by Netscape to accomplish the same effect as a single-pixel layout image, which was something web designers used to use to add white spaces to web pages without actually using an image. However, <spacer> is no longer supported by any major browser and the same effects can now be achieved using simple CSS.",
40892
+ "description": "",
40935
40893
  "categories": [],
40936
40894
  "contentModel": {
40937
40895
  "contents": true
@@ -40943,28 +40901,12 @@
40943
40901
  "omission": false,
40944
40902
  "obsolete": true,
40945
40903
  "globalAttrs": {},
40946
- "attributes": {
40947
- "align": {
40948
- "description": "This attribute determines alignment of spacer. Possible values are left, right and center."
40949
- },
40950
- "height": {
40951
- "description": "This attribute can be used for defining height of spacer in pixels when type is block."
40952
- },
40953
- "size": {
40954
- "description": "This attribute can be used for defining size of spacer in pixels when type is horizontal or vertical."
40955
- },
40956
- "type": {
40957
- "description": "This attribute determines type of spacer. Possible values are horizontal, vertical and block."
40958
- },
40959
- "width": {
40960
- "description": "This attribute can be used for defining width of spacer in pixels when type is block."
40961
- }
40962
- }
40904
+ "attributes": {}
40963
40905
  },
40964
40906
  {
40965
40907
  "name": "span",
40966
40908
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/span",
40967
- "description": "The <span> HTML element is a generic inline container for phrasing content, which does not inherently represent anything. It can be used to group elements for styling purposes (using the class or id attributes), or because they share attribute values, such as lang. It should be used only when no other semantic element is appropriate. <span> is very much like a <div> element, but <div> is a block-level element whereas a <span> is an inline element.",
40909
+ "description": "The <span> HTML element is a generic inline container for phrasing content, which does not inherently represent anything. It can be used to group elements for styling purposes (using the class or id attributes), or because they share attribute values, such as lang. It should be used only when no other semantic element is appropriate. <span> is very much like a <div> element, but <div> is a block-level element whereas a <span> is an inline-level element.",
40968
40910
  "categories": ["#flow", "#phrasing"],
40969
40911
  "contentModel": {
40970
40912
  "contents": [
@@ -41238,7 +41180,7 @@
41238
41180
  },
41239
41181
  "attributes": {
41240
41182
  "align": {
41241
- "description": "This enumerated attribute indicates how the table must be aligned inside the containing document. It may have the following values: left: the table is displayed on the left side of the document; center: the table is displayed in the center of the document; right: the table is displayed on the right side of the document. Set margin-left and margin-right to auto or margin to 0 auto to achieve an effect that is similar to the align attribute.",
41183
+ "description": "This enumerated attribute indicates how the table must be aligned inside the containing document. It may have the following values: left: the table is displayed on the left side of the document; center: the table is displayed in the center of the document; right: the table is displayed on the right side of the document. Set margin-left and margin-right to achieve an effect that is similar to the align attribute: left: margin-right: auto; margin-left: 0; center: margin-right: auto; margin-left: auto; right: margin-right: 0; margin-left: auto;",
41242
41184
  "deprecated": true
41243
41185
  },
41244
41186
  "bgcolor": {
@@ -41489,10 +41431,10 @@
41489
41431
  "description": "The form element that the <textarea> element is associated with (its \"form owner\"). The value of the attribute must be the id of a form element in the same document. If this attribute is not specified, the <textarea> element must be a descendant of a form element. This attribute enables you to place <textarea> elements anywhere within a document, not just as descendants of form elements."
41490
41432
  },
41491
41433
  "maxlength": {
41492
- "description": "The maximum number of characters (UTF-16 code units) that the user can enter. If this value isn't specified, the user can enter an unlimited number of characters."
41434
+ "description": "The maximum string length (measured in UTF-16 code units) that the user can enter. If this value isn't specified, the user can enter an unlimited number of characters."
41493
41435
  },
41494
41436
  "minlength": {
41495
- "description": "The minimum number of characters (UTF-16 code units) required that the user should enter."
41437
+ "description": "The minimum string length (measured in UTF-16 code units) required that the user should enter."
41496
41438
  },
41497
41439
  "name": {
41498
41440
  "description": "The name of the control."
@@ -42309,92 +42251,6 @@
42309
42251
  }
42310
42252
  }
42311
42253
  },
42312
- {
42313
- "name": "svg:altGlyph",
42314
- "namespace": "http://www.w3.org/2000/svg",
42315
- "cite": "https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features",
42316
- "description": "The <altGlyph> SVG element allows sophisticated selection of the glyphs used to render its child character data.",
42317
- "categories": [],
42318
- "contentModel": {
42319
- "contents": true
42320
- },
42321
- "aria": {
42322
- "permittedRoles": true,
42323
- "implicitRole": false
42324
- },
42325
- "omission": false,
42326
- "obsolete": true,
42327
- "globalAttrs": {},
42328
- "attributes": {
42329
- "dx": {
42330
- "description": "This attribute indicates a shift along the x-axis on the position of the element. Value type: <list-of-coordinates> ; Default value: Relative x-coordinate of ancestor <text> or <tspan>; Animatable: yes",
42331
- "deprecated": true
42332
- },
42333
- "dy": {
42334
- "description": "This attribute indicates a shift along the x-axis on the position of the element. Value type: <list-of-coordinates> ; Default value: Relative y-coordinate of ancestor <text> or <tspan>; Animatable: yes",
42335
- "deprecated": true
42336
- },
42337
- "format": {
42338
- "description": "The format of the given font. Value type: <string> ; Default value: none; Animatable: no",
42339
- "deprecated": true
42340
- },
42341
- "glyphRef": {
42342
- "description": "The glyph identifier, the format of which is dependent on the format defined by the format attribute of the given font. Value type: <string> ; Default value: none; Animatable: no",
42343
- "deprecated": true
42344
- },
42345
- "rotate": {
42346
- "description": "This attribute defines the supplemental rotation that will be applied to the element. Value type: <list-of-numbers> ; Default value: none; Animatable: yes (non-additive)",
42347
- "deprecated": true
42348
- },
42349
- "x": {
42350
- "description": "This attribute defines the corresponding absolute x-coordinates for rendering the element. Value type: <list-of-coordinates> ; Default value: Absolute x-coordinate of ancestor <text> or <tspan>; Animatable: yes",
42351
- "deprecated": true
42352
- },
42353
- "xlink:href": {
42354
- "description": "An <iri> reference either to a <glyph> element in an SVG document or to an <altGlyphDef> element. If the reference is to a <glyph> element and that glyph is available, then that glyph is rendered instead of the character(s) that are inside of the <altGlyph> element. If the reference is to an <altGlyphDef> element, then if an appropriate set of alternate glyphs is located from processing the <altGlyphDef> element, then those alternate glyphs are rendered instead of the character(s) that are inside of the <altGlyph> element. Value type: <iri> ; Default value: none; Animatable: no"
42355
- },
42356
- "y": {
42357
- "description": "This attribute defines the corresponding absolute y-coordinates for rendering the element. Value type: <list-of-coordinates> ; Default value: Absolute y-coordinate of ancestor <text> or <tspan>; Animatable: yes",
42358
- "deprecated": true
42359
- }
42360
- }
42361
- },
42362
- {
42363
- "name": "svg:altGlyphDef",
42364
- "namespace": "http://www.w3.org/2000/svg",
42365
- "cite": "https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features",
42366
- "description": "The <altGlyphDef> SVG element defines a substitution representation for glyphs.",
42367
- "categories": [],
42368
- "contentModel": {
42369
- "contents": true
42370
- },
42371
- "aria": {
42372
- "permittedRoles": true,
42373
- "implicitRole": false
42374
- },
42375
- "omission": false,
42376
- "obsolete": true,
42377
- "globalAttrs": {},
42378
- "attributes": {}
42379
- },
42380
- {
42381
- "name": "svg:altGlyphItem",
42382
- "namespace": "http://www.w3.org/2000/svg",
42383
- "cite": "https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features",
42384
- "description": "The <altGlyphItem> element provides a set of candidates for glyph substitution by the <altGlyph> element.",
42385
- "categories": [],
42386
- "contentModel": {
42387
- "contents": true
42388
- },
42389
- "aria": {
42390
- "permittedRoles": true,
42391
- "implicitRole": false
42392
- },
42393
- "omission": false,
42394
- "obsolete": true,
42395
- "globalAttrs": {},
42396
- "attributes": {}
42397
- },
42398
42254
  {
42399
42255
  "name": "svg:animate",
42400
42256
  "namespace": "http://www.w3.org/2000/svg",
@@ -43020,7 +42876,7 @@
43020
42876
  "name": "svg:discard",
43021
42877
  "namespace": "http://www.w3.org/2000/svg",
43022
42878
  "cite": "https://developer.mozilla.org/en-US/docs/Web/SVG/Element/discard",
43023
- "description": "The <discard> SVG element allows authors to specify the time at which particular elements are to be discarded, thereby reducing the resources required by an SVG user agent. This is particularly useful to help SVG viewers conserve memory while displaying long-running documents.",
42879
+ "description": "",
43024
42880
  "categories": [],
43025
42881
  "contentModel": {
43026
42882
  "contents": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markuplint/html-spec",
3
- "version": "3.9.0",
3
+ "version": "3.11.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>",
@@ -17,11 +17,11 @@
17
17
  "gen:prettier": "prettier --write index.json"
18
18
  },
19
19
  "devDependencies": {
20
- "@markuplint/spec-generator": "3.9.0",
21
- "@markuplint/test-tools": "3.4.0"
20
+ "@markuplint/spec-generator": "3.11.0",
21
+ "@markuplint/test-tools": "3.6.0"
22
22
  },
23
23
  "dependencies": {
24
- "@markuplint/ml-spec": "3.9.0"
24
+ "@markuplint/ml-spec": "3.11.0"
25
25
  },
26
- "gitHead": "af370797bfc887e5a5a2ff57fbaa8392ac98ead2"
26
+ "gitHead": "4ab20276db48a6acb29a923ea8666890ca853442"
27
27
  }