From 088b919966bf86e347ff6d86eca440d8f2c1b0fd Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 16 Jul 2024 16:12:42 -0700 Subject: [PATCH 01/26] Update content model for customizable select This PR updated the content model for the . Fixes https://github.com/whatwg/html/issues/10317 --- source | 47 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/source b/source index de407dd6dc0..7b6180cf6be 100644 --- a/source +++ b/source @@ -12785,6 +12785,34 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E% +
Select element inner content elements
+ +

Select element inner content elements are option elements and other + elements which are used to group and decorate them with a select element.

+ +

The following are select element inner content elements:

+ + + +
Transparent content models
@@ -53203,7 +53231,8 @@ interface HTMLButtonElement : HTMLElement {
Contexts in which this element can be used:
Where phrasing content is expected.
Content model:
-
Zero or more option, optgroup, hr, and script-supporting elements.
+
Zero or more select element inner content elements.
+
Zero or one child button.
Content attributes:
Global attributes
autocomplete
@@ -53932,9 +53961,9 @@ interface HTMLDataListElement : HTMLElement {
Categories:
None.
Contexts in which this element can be used:
-
As a child of a select element.
+
As a descendant of a select element.
Content model:
-
Zero or more option and script-supporting elements.
+
Zero or more select element inner content elements.
Content attributes:
Global attributes
disabled
@@ -54029,17 +54058,15 @@ interface HTMLOptGroupElement : HTMLElement {
Categories:
None.
Contexts in which this element can be used:
-
As a child of a select element.
+
As a descendant of a select element.
As a child of a datalist element.
-
As a child of an optgroup element.
+
As a descendant of an optgroup element.
Content model:
If the element has a label attribute and a value attribute: Nothing.
If the element has a label attribute but no value attribute: Text.
-
If the element has no label attribute and is not a - child of a datalist element: Text that is not - inter-element whitespace.
-
If the element has no label attribute and is a child - of a datalist element: Text.
+
If the element has no label attribute: Text content and zero or more div, span, noscript, img, SVG svg, and script-supporting elements.
+
If an img is used within an option and there is no other text within the option, then the option won't have an accessible name unless the img also has a non-empty alt attribute.
+
Content attributes:
Global attributes
disabled
From 16fadde262f08fd764bb036e28d16e32e560c4c8 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 5 Sep 2024 15:53:27 -0700 Subject: [PATCH 02/26] add legend element to optgroup --- source | 1 + 1 file changed, 1 insertion(+) diff --git a/source b/source index 7b6180cf6be..d4d2ebd074c 100644 --- a/source +++ b/source @@ -53964,6 +53964,7 @@ interface HTMLDataListElement : HTMLElement {
As a descendant of a select element.
Content model:
Zero or more select element inner content elements.
+
Zero or one legend elements.
Content attributes:
Global attributes
disabled
From 3c57a190bf8676101cc46e0cb0d28aec34e752c4 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 16 Sep 2024 10:24:30 -0700 Subject: [PATCH 03/26] Update content models for div and span --- source | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 56 insertions(+), 4 deletions(-) diff --git a/source b/source index d4d2ebd074c..06d623a0b5e 100644 --- a/source +++ b/source @@ -12812,6 +12812,54 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
  • SVG svg elements.
  • +
    Optgroup element inner content elements
    + +

    Optgroup element inner content elements are the elements which are allowed as + descendants of optgroup elements.

    + +

    The following are optgroup element inner content elements:

    + +
      +
    • option elements.
    • + +
    • hr elements.
    • + +
    • script-supporting elements.
    • + +
    • noscript elements.
    • + +
    • div elements.
    • + +
    • span elements.
    • + +
    • img elements.
    • + +
    • SVG svg elements.
    • +
    + +
    Option element inner content elements
    + +

    Option element inner content elements are the elements which are allowed as + descendants of option elements.

    + +

    The following are option element inner content elements:

    + +
      +
    • Text content.
    • + +
    • script-supporting elements.
    • + +
    • noscript elements.
    • + +
    • div elements.
    • + +
    • span elements.
    • + +
    • img elements.
    • + +
    • SVG svg elements.
    • +
    +
    Transparent content models
    @@ -21541,7 +21589,9 @@ included with Exhibit B.
    As a child of a dl element.
    Content model:
    If the element is a child of a dl element: one or more dt elements followed by one or more dd elements, optionally intermixed with script-supporting elements.
    -
    If the element is not a child of a dl element: flow content.
    +
    Otherwise, if the element is a descendant of an option element: Zero or more option element inner content elements.
    +
    Otherwise, if the element is a descendant of an optgroup element: Zero or more optgroup element inner content elements.
    +
    Otherwise: flow content.
    Content attributes:
    Global attributes
    </p>
    Contexts in which this element can be used:
    Where phrasing content is expected.
    Content model:
    -
    Phrasing content.
    +
    If the element is a descendant of an option element: Zero or more option element inner content elements.
    +
    Otherwise, if the element is a descendant of an optgroup element: Zero or more optgroup element inner content elements.
    +
    Otherwise: Phrasing content.
    Content attributes:
    Global attributes
    HTMLDataListElement : HTMLElement {
    Contexts in which this element can be used:
    As a descendant of a select element.
    Content model:
    -
    Zero or more select element inner content elements.
    +
    Zero or more optgroup element inner content elements.
    Zero or one legend elements.
    Content attributes:
    Global attributes
    @@ -54065,7 +54117,7 @@ interface HTMLOptGroupElement : HTMLElement {
    Content model:
    If the element has a label attribute and a value attribute: Nothing.
    If the element has a label attribute but no value attribute: Text.
    -
    If the element has no label attribute: Text content and zero or more div, span, noscript, img, SVG svg, and script-supporting elements.
    +
    If the element has no label attribute: Zero or more option element inner content elements.
    If an img is used within an option and there is no other text within the option, then the option won't have an accessible name unless the img also has a non-empty alt attribute.
    Content attributes:
    From e27ea837001a345a2695b698f4a436b418143dd1 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 16 Sep 2024 10:28:16 -0700 Subject: [PATCH 04/26] combine select element lines --- source | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source b/source index 06d623a0b5e..7b666585767 100644 --- a/source +++ b/source @@ -53283,8 +53283,7 @@ interface HTMLButtonElement : HTMLElement {
    Contexts in which this element can be used:
    Where phrasing content is expected.
    Content model:
    -
    Zero or more select element inner content elements.
    -
    Zero or one child button.
    +
    Zero or one button element followed by zero or more select element inner content elements.
    Content attributes:
    Global attributes
    autocomplete
    From 44225a8ca0929fcb924b8b3432a2993a29a392ed Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 16 Sep 2024 10:51:16 -0700 Subject: [PATCH 05/26] update categories --- source | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/source b/source index 7b666585767..d70897898dd 100644 --- a/source +++ b/source @@ -19850,6 +19850,8 @@ and is further discussed below.</div>
    Categories:
    Flow content.
    +
    Select element inner content elements.
    +
    Optgroup element inner content elements.
    Contexts in which this element can be used:
    Where flow content is expected.
    As a child of a select element.
    @@ -21584,6 +21586,9 @@ included with Exhibit B.
    Categories:
    Flow content.
    Palpable content.
    +
    Select element inner content elements.
    +
    Option element inner content elements.
    +
    Optgroup element inner content elements.
    Contexts in which this element can be used:
    Where flow content is expected.
    As a child of a dl element.
    @@ -24403,6 +24408,9 @@ wormhole connection.</mark></p>
    Flow content.
    Phrasing content.
    Palpable content.
    +
    Select element inner content elements.
    +
    Option element inner content elements.
    +
    Optgroup element inner content elements.
    Contexts in which this element can be used:
    Where phrasing content is expected.
    Content model:
    @@ -29133,6 +29141,9 @@ interface HTMLSourceElement : HTMLElement {
    Form-associated element.
    If the element has a usemap attribute: Interactive content.
    Palpable content.
    +
    Select element inner content elements.
    +
    Option element inner content elements.
    +
    Optgroup element inner content elements.
    Contexts in which this element can be used:
    Where embedded content is expected.
    As a child of a picture element, after all source elements.
    @@ -54010,7 +54021,7 @@ interface HTMLDataListElement : HTMLElement {
    Categories:
    -
    None.
    +
    Select element inner content elements.
    Contexts in which this element can be used:
    As a descendant of a select element.
    Content model:
    @@ -54108,7 +54119,8 @@ interface HTMLOptGroupElement : HTMLElement {
    Categories:
    -
    None.
    +
    Select element inner content elements.
    +
    Optgroup element inner content elements.
    Contexts in which this element can be used:
    As a descendant of a select element.
    As a child of a datalist element.
    @@ -63377,6 +63389,9 @@ not-slash = %x0000-002E / %x0030-10FFFF
    Metadata content.
    Flow content.
    Phrasing content.
    +
    Select element inner content elements.
    +
    Option element inner content elements.
    +
    Optgroup element inner content elements.
    Contexts in which this element can be used:
    In a head element of an HTML document, if there are no ancestor noscript elements.
    Where phrasing content is expected in HTML documents, if there are no ancestor noscript elements.
    From c7deb50440433fb05a291cd40b714e071d7dc48e Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 16 Sep 2024 10:58:33 -0700 Subject: [PATCH 06/26] Fix legend and remove note --- source | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/source b/source index d70897898dd..64d58daf287 100644 --- a/source +++ b/source @@ -54025,8 +54025,7 @@ interface HTMLDataListElement : HTMLElement {
    Contexts in which this element can be used:
    As a descendant of a select element.
    Content model:
    -
    Zero or more optgroup element inner content elements.
    -
    Zero or one legend elements.
    +
    Zero or one legend element followed by zero or more optgroup element inner content elements.
    Content attributes:
    Global attributes
    disabled
    @@ -54129,8 +54128,6 @@ interface HTMLOptGroupElement : HTMLElement {
    If the element has a label attribute and a value attribute: Nothing.
    If the element has a label attribute but no value attribute: Text.
    If the element has no label attribute: Zero or more option element inner content elements.
    -
    If an img is used within an option and there is no other text within the option, then the option won't have an accessible name unless the img also has a non-empty alt attribute.
    -
    Content attributes:
    Global attributes
    disabled
    From e4d071c239cef76b48ccdc307552c2d3c308bb5f Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 16 Sep 2024 12:30:52 -0700 Subject: [PATCH 07/26] add todo to duplicate table --- source | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source b/source index 64d58daf287..f97f9f55cf6 100644 --- a/source +++ b/source @@ -139761,6 +139761,8 @@ interface External { HTMLElement + select List box control From fb7ca7a8da1cc4abbb33f6a6e81644cc25743464 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 23 Sep 2024 11:51:52 -0700 Subject: [PATCH 08/26] remove divs --- source | 6 ------ 1 file changed, 6 deletions(-) diff --git a/source b/source index f97f9f55cf6..48641e1414e 100644 --- a/source +++ b/source @@ -12803,8 +12803,6 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
  • noscript elements.
  • -
  • div elements.
  • -
  • span elements.
  • img elements.
  • @@ -12828,8 +12826,6 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
  • noscript elements.
  • -
  • div elements.
  • -
  • span elements.
  • img elements.
  • @@ -12851,8 +12847,6 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
  • noscript elements.
  • -
  • div elements.
  • -
  • span elements.
  • img elements.
  • From 841e6ff36746d57047c9fbda13c019e6cb0d7e7f Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 23 Sep 2024 11:52:29 -0700 Subject: [PATCH 09/26] palpable content except for interactive content --- source | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source b/source index 48641e1414e..017412b6b57 100644 --- a/source +++ b/source @@ -12843,6 +12843,8 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
    • Text content.
    • +
    • Palpable content except for interactive content.
    • +
    • script-supporting elements.
    • noscript elements.
    • From c6c208c9e8a4bbee62754beef0f50cf6596b3f22 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 26 Sep 2024 16:40:57 -0700 Subject: [PATCH 10/26] replace span with div --- source | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source b/source index 017412b6b57..7e954ba9e2f 100644 --- a/source +++ b/source @@ -12803,7 +12803,7 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
    • noscript elements.
    • -
    • span elements.
    • +
    • div elements.
    • img elements.
    • @@ -12826,7 +12826,7 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
    • noscript elements.
    • -
    • span elements.
    • +
    • div elements.
    • img elements.
    • @@ -12849,7 +12849,7 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
    • noscript elements.
    • -
    • span elements.
    • +
    • div elements.
    • img elements.
    • From 0891d736736cb2830fdb6e7703acb497141bab4f Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 26 Sep 2024 16:51:14 -0700 Subject: [PATCH 11/26] remove hr from optgroup because parser pr --- source | 2 -- 1 file changed, 2 deletions(-) diff --git a/source b/source index 7e954ba9e2f..01241100bdc 100644 --- a/source +++ b/source @@ -12820,8 +12820,6 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
      • option elements.
      • -
      • hr elements.
      • -
      • script-supporting elements.
      • noscript elements.
      • From 787e86f850fcd1bde9696b67af64acaf71b4e39b Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 26 Sep 2024 17:36:47 -0700 Subject: [PATCH 12/26] remove images outside options and replace div with span inside option --- source | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/source b/source index 01241100bdc..9efa17c8116 100644 --- a/source +++ b/source @@ -12804,10 +12804,6 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
      • noscript elements.
      • div elements.
      • - -
      • img elements.
      • - -
      • SVG svg elements.
      Optgroup element inner content elements
      @@ -12825,10 +12821,6 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
    • noscript elements.
    • div elements.
    • - -
    • img elements.
    • - -
    • SVG svg elements.
    Option element inner content elements
    @@ -12847,7 +12839,7 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
  • noscript elements.
  • -
  • div elements.
  • +
  • span elements.
  • img elements.
  • From bfa1c18c7922bafac92c36cdf79a1b6104f63ef9 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 14 Oct 2024 15:40:48 -0700 Subject: [PATCH 13/26] remove outdated categories --- source | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/source b/source index 9efa17c8116..0fa836401dd 100644 --- a/source +++ b/source @@ -19837,7 +19837,6 @@ and is further discussed below.</div>
    Categories:
    Flow content.
    Select element inner content elements.
    -
    Optgroup element inner content elements.
    Contexts in which this element can be used:
    Where flow content is expected.
    As a child of a select element.
    @@ -21573,14 +21572,12 @@ included with Exhibit B.
    Flow content.
    Palpable content.
    Select element inner content elements.
    -
    Option element inner content elements.
    Optgroup element inner content elements.
    Contexts in which this element can be used:
    Where flow content is expected.
    As a child of a dl element.
    Content model:
    If the element is a child of a dl element: one or more dt elements followed by one or more dd elements, optionally intermixed with script-supporting elements.
    -
    Otherwise, if the element is a descendant of an option element: Zero or more option element inner content elements.
    Otherwise, if the element is a descendant of an optgroup element: Zero or more optgroup element inner content elements.
    Otherwise: flow content.
    Content attributes:
    @@ -24394,14 +24391,11 @@ wormhole connection.</mark></p>
    Flow content.
    Phrasing content.
    Palpable content.
    -
    Select element inner content elements.
    Option element inner content elements.
    -
    Optgroup element inner content elements.
    Contexts in which this element can be used:
    Where phrasing content is expected.
    Content model:
    If the element is a descendant of an option element: Zero or more option element inner content elements.
    -
    Otherwise, if the element is a descendant of an optgroup element: Zero or more optgroup element inner content elements.
    Otherwise: Phrasing content.
    Content attributes:
    Global attributes
    @@ -29127,9 +29121,7 @@ interface HTMLSourceElement : HTMLElement {
    Form-associated element.
    If the element has a usemap attribute: Interactive content.
    Palpable content.
    -
    Select element inner content elements.
    Option element inner content elements.
    -
    Optgroup element inner content elements.
    Contexts in which this element can be used:
    Where embedded content is expected.
    As a child of a picture element, after all source elements.
    @@ -42393,8 +42385,9 @@ interface HTMLAreaElement : HTMLElement {

    SVG

    The SVG svg element falls into the embedded content, - phrasing content, flow content, and palpable content - categories for the purposes of the content models in this specification.

    + phrasing content, flow content, palpable content, and + option element inner content elements categories for the purposes of the content + models in this specification.

    When the SVG foreignObject element contains elements from the HTML namespace, such elements must all be flow content.

    From a4954ad0e41affbe2b4f27cda309457f3e5b72cd Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 14 Oct 2024 18:53:28 -0700 Subject: [PATCH 14/26] stuff --- source | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source b/source index 0fa836401dd..c152d58f291 100644 --- a/source +++ b/source @@ -21579,6 +21579,7 @@ included with Exhibit B.
    Content model:
    If the element is a child of a dl element: one or more dt elements followed by one or more dd elements, optionally intermixed with script-supporting elements.
    Otherwise, if the element is a descendant of an optgroup element: Zero or more optgroup element inner content elements.
    +
    Otherwise, if the element is a descendant of a select element: Zero or more select element inner content elements.
    Otherwise: flow content.
    Content attributes:
    Global attributes
    @@ -53057,6 +53058,7 @@ You cannot submit this form when the field is incorrect.
    Palpable content.
    Contexts in which this element can be used:
    Where phrasing content is expected.
    +
    As the first child of a select element.
    Content model:
    Phrasing content, but there must be no interactive content descendant and no descendant with the tabindex attribute @@ -53273,7 +53275,7 @@ interface HTMLButtonElement : HTMLElement {
    Contexts in which this element can be used:
    Where phrasing content is expected.
    Content model:
    -
    Zero or one button element followed by zero or more select element inner content elements.
    +
    Zero or one button element if the select is a drop-down box followed by zero or more select element inner content elements.
    Content attributes:
    Global attributes
    autocomplete
    @@ -55840,6 +55842,7 @@ interface HTMLFieldSetElement : HTMLElement {
    None.
    Contexts in which this element can be used:
    As the first child of a fieldset element.
    +
    As the first child of an optgroup element.
    Content model:
    Phrasing content, optionally intermixed with heading content.
    Content attributes:
    From 15f67eae08c59da77e332dd0fbe65529cf182564 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 17 Oct 2024 17:00:36 -0700 Subject: [PATCH 15/26] phrasing content --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index c152d58f291..869a4f76120 100644 --- a/source +++ b/source @@ -12833,7 +12833,7 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
    • Text content.
    • -
    • Palpable content except for interactive content.
    • +
    • Phrasing content except for interactive content.
    • script-supporting elements.
    • @@ -55844,7 +55844,7 @@ interface HTMLFieldSetElement : HTMLElement {
      As the first child of a fieldset element.
      As the first child of an optgroup element.
      Content model:
      -
      Phrasing content, optionally intermixed with heading content.
      +
      Phrasing content, optionally intermixed with heading content if this is not the first child of an optgroup element.
      Content attributes:
      Global attributes
      Date: Wed, 23 Oct 2024 16:30:49 -0700 Subject: [PATCH 16/26] improve element lists --- source | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/source b/source index 869a4f76120..839b9414ff7 100644 --- a/source +++ b/source @@ -12787,23 +12787,23 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
      Select element inner content elements
      -

      Select element inner content elements are option elements and other - elements which are used to group and decorate them with a select element.

      +

      Select element inner content elements are the elements which are allowed as + descendants of select elements.

      The following are select element inner content elements:

        -
      • option elements.
      • +
      • option
      • -
      • optgroup elements.
      • +
      • optgroup
      • -
      • hr elements.
      • +
      • hr
      • -
      • script-supporting elements.
      • +
      • script-supporting elements
      • -
      • noscript elements.
      • +
      • noscript
      • -
      • div elements.
      • +
      • div
      Optgroup element inner content elements
      @@ -12814,13 +12814,13 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%

      The following are optgroup element inner content elements:

        -
      • option elements.
      • +
      • option
      • -
      • script-supporting elements.
      • +
      • script-supporting elements
      • -
      • noscript elements.
      • +
      • noscript
      • -
      • div elements.
      • +
      • div
      Option element inner content elements
      @@ -12831,19 +12831,19 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%

      The following are option element inner content elements:

        -
      • Text content.
      • +
      • text content
      • -
      • Phrasing content except for interactive content.
      • +
      • phrasing content except for interactive content
      • -
      • script-supporting elements.
      • +
      • script-supporting elements
      • -
      • noscript elements.
      • +
      • noscript
      • -
      • span elements.
      • +
      • span
      • -
      • img elements.
      • +
      • img
      • -
      • SVG svg elements.
      • +
      • SVG svg
      From b6cebc4862ed24750e96222606e35fd776b6f9e7 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 28 Oct 2024 13:09:00 -0700 Subject: [PATCH 17/26] make div and span equal again --- source | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/source b/source index 839b9414ff7..1f14c706613 100644 --- a/source +++ b/source @@ -12804,6 +12804,8 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
    • noscript
    • div
    • + +
    • span
    Optgroup element inner content elements
    @@ -12821,6 +12823,8 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
  • noscript
  • div
  • + +
  • span
  • Option element inner content elements
    @@ -12839,6 +12843,8 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
  • noscript
  • +
  • div
  • +
  • span
  • img
  • @@ -21573,13 +21579,15 @@ included with Exhibit B.
    Palpable content.
    Select element inner content elements.
    Optgroup element inner content elements.
    +
    Option element inner content elements.
    Contexts in which this element can be used:
    Where flow content is expected.
    As a child of a dl element.
    Content model:
    If the element is a child of a dl element: one or more dt elements followed by one or more dd elements, optionally intermixed with script-supporting elements.
    -
    Otherwise, if the element is a descendant of an optgroup element: Zero or more optgroup element inner content elements.
    Otherwise, if the element is a descendant of a select element: Zero or more select element inner content elements.
    +
    Otherwise, if the element is a descendant of an optgroup element: Zero or more optgroup element inner content elements.
    +
    Otherwise, if the element is a descendant of an option element: Zero or more option element inner content elements.
    Otherwise: flow content.
    Content attributes:
    Global attributes
    @@ -24392,11 +24400,15 @@ wormhole connection.</mark></p>
    Flow content.
    Phrasing content.
    Palpable content.
    +
    Select element inner content elements.
    +
    Optgroup element inner content elements.
    Option element inner content elements.
    Contexts in which this element can be used:
    Where phrasing content is expected.
    Content model:
    -
    If the element is a descendant of an option element: Zero or more option element inner content elements.
    +
    If the element is a descendant of a select element: Zero or more select element inner content elements.
    +
    Otherwise, if the element is a descendant of an optgroup element: Zero or more optgroup element inner content elements.
    +
    Otherwise, if the element is a descendant of an option element: Zero or more option element inner content elements.
    Otherwise: Phrasing content.
    Content attributes:
    Global attributes
    From 57dced15b399b28ed6a097d19c99a78815ec8dd6 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Fri, 8 Nov 2024 10:01:40 -0800 Subject: [PATCH 18/26] update phrasing except interactive --- source | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/source b/source index d723a99e767..2e55e584f10 100644 --- a/source +++ b/source @@ -13019,28 +13019,10 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
    Option element inner content elements
    -

    Option element inner content elements are the elements which are allowed as - descendants of option elements.

    - -

    The following are option element inner content elements:

    - -
      -
    • text content
    • - -
    • phrasing content except for interactive content
    • - -
    • script-supporting elements
    • - -
    • noscript
    • - -
    • div
    • - -
    • span
    • - -
    • img
    • - -
    • SVG svg
    • -
    +

    Option element inner content elements are div and phrasing + content, but there must be no descendants which are datalist, + object, or interactive content, and no descendants may have the tabindex attribute specified.

    From eb42bf61b644f52ae02fa9eb732f4401ef6052a7 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Fri, 8 Nov 2024 10:01:53 -0800 Subject: [PATCH 19/26] remove span from optgroup and select --- source | 4 ---- 1 file changed, 4 deletions(-) diff --git a/source b/source index 2e55e584f10..a5c3525c187 100644 --- a/source +++ b/source @@ -12994,8 +12994,6 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
  • noscript
  • div
  • - -
  • span
  • Optgroup element inner content elements
    @@ -13013,8 +13011,6 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
  • noscript
  • div
  • - -
  • span
  • Option element inner content elements
    From 22b839cc09edae6a536b4edb5499f54ba7e8a461 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Fri, 8 Nov 2024 10:03:06 -0800 Subject: [PATCH 20/26] reorder otherwise --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index a5c3525c187..21fda41663f 100644 --- a/source +++ b/source @@ -21767,9 +21767,9 @@ included with Exhibit B.
    As a child of a dl element.
    Content model:
    If the element is a child of a dl element: one or more dt elements followed by one or more dd elements, optionally intermixed with script-supporting elements.
    -
    Otherwise, if the element is a descendant of a select element: Zero or more select element inner content elements.
    -
    Otherwise, if the element is a descendant of an optgroup element: Zero or more optgroup element inner content elements.
    Otherwise, if the element is a descendant of an option element: Zero or more option element inner content elements.
    +
    Otherwise, if the element is a descendant of an optgroup element: Zero or more optgroup element inner content elements.
    +
    Otherwise, if the element is a descendant of a select element: Zero or more select element inner content elements.
    Otherwise: flow content.
    Content attributes:
    Global attributes
    From f40e97565b6963dcaa3ce60e30485a0a8fdfebf6 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Fri, 8 Nov 2024 10:07:29 -0800 Subject: [PATCH 21/26] add comment --- source | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source b/source index 21fda41663f..7e7c492d4b0 100644 --- a/source +++ b/source @@ -13015,6 +13015,9 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
    Option element inner content elements
    + +

    Option element inner content elements are div and phrasing content, but there must be no descendants which are datalist, object, or interactive content, and no descendants may have the Date: Fri, 8 Nov 2024 10:10:17 -0800 Subject: [PATCH 22/26] fix content model for span --- source | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/source b/source index 7e7c492d4b0..1e544089f72 100644 --- a/source +++ b/source @@ -24591,9 +24591,7 @@ wormhole connection.</mark></p>

    Contexts in which this element can be used:
    Where phrasing content is expected.
    Content model:
    -
    If the element is a descendant of a select element: Zero or more select element inner content elements.
    -
    Otherwise, if the element is a descendant of an optgroup element: Zero or more optgroup element inner content elements.
    -
    Otherwise, if the element is a descendant of an option element: Zero or more option element inner content elements.
    +
    If the element is a descendant of an option element: Zero or more option element inner content elements.
    Otherwise: Phrasing content.
    Content attributes:
    Global attributes
    From aa9436eb1532cab020f410e8755374e26333f38f Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Fri, 8 Nov 2024 10:45:48 -0800 Subject: [PATCH 23/26] re-add datalist cases in option content model --- source | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source b/source index 1e544089f72..aee32f7adb0 100644 --- a/source +++ b/source @@ -54306,7 +54306,11 @@ interface HTMLOptGroupElement : HTMLElement {
    Content model:
    If the element has a label attribute and a value attribute: Nothing.
    If the element has a label attribute but no value attribute: Text.
    -
    If the element has no label attribute: Zero or more option element inner content elements.
    +
    If the element has no label attribute and is not a + child of a datalist element: Zero or more option element inner content + elements.
    +
    If the element has no label attribute and is a child + of a datalist element: Text.
    Content attributes:
    Global attributes
    disabled
    From eab0bc6fd15e4f86f51ff60d39a3e8ae1b60415c Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Fri, 22 Nov 2024 09:47:46 -0800 Subject: [PATCH 24/26] legend element improvements --- source | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source b/source index aee32f7adb0..3e4ff7f7931 100644 --- a/source +++ b/source @@ -56046,7 +56046,11 @@ interface HTMLFieldSetElement : HTMLElement {
    As the first child of a fieldset element.
    As the first child of an optgroup element.
    Content model:
    -
    Phrasing content, optionally intermixed with heading content if this is not the first child of an optgroup element.
    +
    If the element is the first child of a fieldset element: + Phrasing content, optionally intermixed with heading content.
    +
    If the element is the first child of an optgroup element: + Phrasing content, but there must be no interactive content and no + descendant with the tabindex attribute.
    Content attributes:
    Global attributes
    HTMLLegendElement : HTMLElement {

    The legend element represents a caption for the rest of the contents of the legend element's parent fieldset element, if - any.

    + any
    . Otherwise, if the legend has a parent optgroup element, then + the legend represents the optgroup's label.

    legend.form
    From 7f9cc16253e685f443b942a1d1c408247d1f9f46 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Fri, 22 Nov 2024 09:54:41 -0800 Subject: [PATCH 25/26] remove redundant phrasing content text --- source | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/source b/source index 3e4ff7f7931..64beec015f8 100644 --- a/source +++ b/source @@ -24585,9 +24585,6 @@ wormhole connection.</mark></p>
    Flow content.
    Phrasing content.
    Palpable content.
    -
    Select element inner content elements.
    -
    Optgroup element inner content elements.
    -
    Option element inner content elements.
    Contexts in which this element can be used:
    Where phrasing content is expected.
    Content model:
    @@ -29317,7 +29314,6 @@ interface HTMLSourceElement : HTMLElement {
    Form-associated element.
    If the element has a usemap attribute: Interactive content.
    Palpable content.
    -
    Option element inner content elements.
    Contexts in which this element can be used:
    Where embedded content is expected.
    As a child of a picture element, after all source elements.
    @@ -42581,9 +42577,8 @@ interface HTMLAreaElement : HTMLElement {

    SVG

    The SVG svg element falls into the embedded content, - phrasing content, flow content, palpable content, and - option element inner content elements categories for the purposes of the content - models in this specification.

    + phrasing content, flow content, and palpable content + categories for the purposes of the content models in this specification.

    When the SVG foreignObject element contains elements from the HTML namespace, such elements must all be flow content.

    @@ -63642,7 +63637,6 @@ not-slash = %x0000-002E / %x0030-10FFFF
    Flow content.
    Phrasing content.
    Select element inner content elements.
    -
    Option element inner content elements.
    Optgroup element inner content elements.
    Contexts in which this element can be used:
    In a head element of an HTML document, if there are no ancestor noscript elements.
    From bed729f71680372b7a8a666d361a2ac036090d37 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Fri, 22 Nov 2024 10:03:56 -0800 Subject: [PATCH 26/26] option datalist descendant --- source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source b/source index 64beec015f8..bc570e86e80 100644 --- a/source +++ b/source @@ -54302,7 +54302,7 @@ interface HTMLOptGroupElement : HTMLElement {
    If the element has a label attribute and a value attribute: Nothing.
    If the element has a label attribute but no value attribute: Text.
    If the element has no label attribute and is not a - child of a datalist element: Zero or more option element inner content + descendant of a datalist element: Zero or more option element inner content elements.
    If the element has no label attribute and is a child of a datalist element: Text.