From 30b055210c26ea649465bb7dd15bbcd075b2b064 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 16 Aug 2021 12:48:03 -0400 Subject: [PATCH 01/65] hidden=until-found attribute --- source | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 56 insertions(+), 7 deletions(-) diff --git a/source b/source index a6326e823b3..37627d80d9b 100644 --- a/source +++ b/source @@ -74765,6 +74765,36 @@ END:VCARD +

The hidden=until-found attribute

+ +

When HTML elements have the until-found value set for the hidden + attribute, the content inside of them is accessible to find-in-page and fragment navigation. When these features attempt to scroll to a + target element which is inside a hidden=until-found subtree, the user agent must + remove the hidden attribute in order to reveal the content before scrolling to + it.

+ +

Instead of applying the display: none style like the regular hidden attribute, + hidden=until-found uses applies content-visibility: hidden in order to + improve the performance of find-in-page in these sections.

+ +

The ancestor hidden=until-found revealing algorithm is to run the following steps on + currentNode:

+ +
    +
  1. +

    While currentNode has a parent node within the flat tree:

    + +
      +
    1. If currentNode has the hidden=until-found attribute, then remove + the hidden attribute from currentNode.

    2. + +
    3. Set currentNode tothe parent node of currentNode within the + flat tree.

    4. +
    +
  2. +
+

Page visibility

A top-level browsing context has a system visibility state, @@ -77759,16 +77789,19 @@ body { display:none } standardizing how find-in-page underlies the currently-unspecified window.find() API.

-

Interaction with details

+

Interaction with details and hidden=until-found

When find-in-page begins searching for matches, all details elements in the page which do not have their open attribute set should have the skipped contents of their second slot become accessible, without modifying the open attribute, in - order to make find-in-page able to search through it. After find-in-page finishes searching for - matches, those details elements should have their contents become skipped again. - This entire process must happen synchronously (and so is not observable to users or to author - code).

+ order to make find-in-page able to search through it. Similarly, all HTML elements with the + hidden=until-found attribute should have their skipped contents become accessible without modifying the hidden + attribute in order to make find-in-page able to search through them. After find-in-page finishes + searching for matches, the details elements and the hidden=until-found + elements should have their contents become skipped again. This entire process must happen + synchronously (and so is not observable to users or to author code).

When find-in-page chooses a new active match, perform the following steps:

@@ -77778,8 +77811,21 @@ body { display:none } match.

  • Queue a global task on the user interaction task source given - node's relevant global object to run the ancestor details - revealing algorithm on node.

  • + node's relevant global object to run the following steps:

    + +
      +
    1. Run the ancestor details revealing algorithm on node.

    2. + +
    3. Run the ancestor hidden-until-found revealing algorithm on + node.

    4. + +
    5. Queue a global task on the user interaction task source given + node's relevant global object to run the following steps:

    6. + +
        +
      1. Scroll node into view.

      2. +
      +

    @@ -89189,6 +89235,9 @@ new PaymentRequest(…); // Allowed to use

  • Run the ancestor details revealing algorithm on target.

  • +
  • Run the ancestor hidden-until-found revealing algorithm on + target.

  • +
  • Scroll target into view, with behavior set to "auto", block set to "start", and inline set to "nearest".

  • From 61a3a41b0e5e62aae3f2a45f34e4d1632ea923e9 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 9 Nov 2021 16:57:19 -0800 Subject: [PATCH 02/65] Add beforematch event --- source | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/source b/source index 37627d80d9b..090e0f2d735 100644 --- a/source +++ b/source @@ -74772,7 +74772,9 @@ END:VCARD data-x="navigate-fragid">fragment navigation. When these features attempt to scroll to a target element which is inside a hidden=until-found subtree, the user agent must remove the hidden attribute in order to reveal the content before scrolling to - it.

    + it. In addition to removing the hidden attribute, an event named + beforematch is also fired on the hidden element before the + hidden attribute is removed.

    Instead of applying the display: none style like the regular hidden attribute, hidden=until-found uses applies content-visibility: hidden in order to @@ -74786,10 +74788,19 @@ END:VCARD

    While currentNode has a parent node within the flat tree:

      -
    1. If currentNode has the hidden=until-found attribute, then remove - the hidden attribute from currentNode.

    2. +
    3. +

      If currentNode has the hidden=until-found attribute, then run + the following steps:

      + +
        +
      1. Fire an event named beforematch at currentNode.

      2. + +
      3. Remove the hidden attribute from currentNode.

      4. +
      +
    4. -
    5. Set currentNode tothe parent node of currentNode within the +

    6. Set currentNode to the parent node of currentNode within the flat tree.

    @@ -126293,6 +126304,13 @@ INSERT INTERFACES HERE Window Fired at the Window before printing + + beforematch + Event + Elements + Fired on elements with the hidden=until-found attribute before they are + revealed. + beforeunload BeforeUnloadEvent From 387c131a5ae08cb48932a08d9dafd0d26fc104fd Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 11 Nov 2021 08:41:55 -0800 Subject: [PATCH 03/65] Tried to fix a couple errors, there are still more --- source | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/source b/source index 090e0f2d735..189ef575e24 100644 --- a/source +++ b/source @@ -74767,17 +74767,17 @@ END:VCARD

    The hidden=until-found attribute

    -

    When HTML elements have the until-found value set for the hidden +

    When HTML elements have the until-found value set for the hidden attribute, the content inside of them is accessible to find-in-page and fragment navigation. When these features attempt to scroll to a - target element which is inside a hidden=until-found subtree, the user agent must - remove the hidden attribute in order to reveal the content before scrolling to - it. In addition to removing the hidden attribute, an event named - beforematch is also fired on the hidden element before the - hidden attribute is removed.

    + target element which is inside a hidden=until-found subtree, the user agent must + remove the hidden attribute in order to reveal the content before scrolling to + it. In addition to removing the hidden attribute, an event named + beforematch is also fired on the hidden element before the + hidden attribute is removed.

    Instead of applying the display: none style like the regular hidden attribute, - hidden=until-found uses applies content-visibility: hidden in order to + hidden=until-found uses applies content-visibility: hidden in order to improve the performance of find-in-page in these sections.

    The ancestor hidden=until-found revealing algorithm is to run the following steps on @@ -74789,14 +74789,14 @@ END:VCARD

    1. -

      If currentNode has the hidden=until-found attribute, then run +

      If currentNode has the hidden=until-found attribute, then run the following steps:

        -
      1. Fire an event named

        Fire an event named beforematch at currentNode.

      2. -
      3. Remove the hidden attribute from currentNode.

      4. +
      5. Remove the hidden attribute from currentNode.

    2. From 9d2590765880ebb380837e5a2891723268d2037b Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Fri, 7 Jan 2022 14:02:29 -0800 Subject: [PATCH 04/65] update scrolling --- source | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/source b/source index 189ef575e24..68cabed0a97 100644 --- a/source +++ b/source @@ -77830,12 +77830,8 @@ body { display:none }
    3. Run the ancestor hidden-until-found revealing algorithm on node.

    4. -
    5. Queue a global task on the user interaction task source given - node's relevant global object to run the following steps:

    6. - -
        -
      1. Scroll node into view.

      2. -
      +
    7. Scroll node into + view.

    From d04e4d6f45e5d270cf624b96242f5617c36d3746 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 12 Jan 2022 19:23:42 -0700 Subject: [PATCH 05/65] merged into hidden section --- source | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/source b/source index 68cabed0a97..52f7474f55b 100644 --- a/source +++ b/source @@ -74671,8 +74671,7 @@ END:VCARD

    The hidden attribute

    All HTML elements may have the hidden content attribute set. The hidden attribute is a boolean attribute. When specified + data-x="attr-hidden">hidden content attribute set. When specified on an element, it indicates that the element is not yet, or is no longer, directly relevant to the page's current state, or that it is being used to declare content to be reused by other parts of the page as opposed to being directly accessed by the user. User agents should not @@ -74763,22 +74762,18 @@ END:VCARD

    The hidden IDL attribute must reflect the content attribute of the same name.

    - - -

    The hidden=until-found attribute

    - -

    When HTML elements have the until-found value set for the hidden - attribute, the content inside of them is accessible to find-in-page and When an element has the value "until-found" for the hidden attribute, the content inside the element should be accessible to + find-in-page and fragment navigation. When these features attempt to scroll to a - target element which is inside a hidden=until-found subtree, the user agent must + target which is in the element's subtree, the user agent must remove the hidden attribute in order to reveal the content before scrolling to it. In addition to removing the hidden attribute, an event named beforematch is also fired on the hidden element before the hidden attribute is removed.

    -

    Instead of applying the display: none style like the regular hidden attribute, - hidden=until-found uses applies content-visibility: hidden in order to - improve the performance of find-in-page in these sections.

    +

    User agents must use content-visibility:hidden instead of display:none when the hidden attribute is "until-found", as specified in the Rendering section.

    + +

    Since hidden=until-found uses content-visibility:hidden instead of display:none, the hidden element must be display:block and will have a generated box unlike display:none.

    The ancestor hidden=until-found revealing algorithm is to run the following steps on currentNode:

    @@ -74806,6 +74801,8 @@ END:VCARD + +

    Page visibility

    A top-level browsing context has a system visibility state, @@ -117178,11 +117175,19 @@ console.assert(container.firstChild instanceof SuperP);

    @namespace url(http://www.w3.org/1999/xhtml);
     
    -[hidden], area, base, basefont, datalist, head, link, meta, noembed,
    +area, base, basefont, datalist, head, link, meta, noembed,
     noframes, param, rp, script, style, template, title {
       display: none;
     }
     
    +[hidden]:not([hidden=until-found]) {
    +  display: none;
    +}
    +
    +[hidden=until-found] {
    +  content-visibility: hidden;
    +}
    +
     embed[hidden] { display: inline; height: 0; width: 0; } 
     
     input[type=hidden i] { display: none !important; }
    
    From 93e18416efbc90ef015c3b71078ca0240b1f26bb Mon Sep 17 00:00:00 2001
    From: Joey Arhar 
    Date: Wed, 12 Jan 2022 19:36:18 -0700
    Subject: [PATCH 06/65] fixed some errors
    
    ---
     source | 14 +++++++-------
     1 file changed, 7 insertions(+), 7 deletions(-)
    
    diff --git a/source b/source
    index 52f7474f55b..a710de28f4c 100644
    --- a/source
    +++ b/source
    @@ -74766,12 +74766,12 @@ END:VCARD
    find-in-page and fragment navigation. When these features attempt to scroll to a target which is in the element's subtree, the user agent must - remove the hidden attribute in order to reveal the content before scrolling to - it. In addition to removing the hidden attribute, an event named - beforematch is also fired on the hidden element before the - hidden attribute is removed.

    + remove the hidden attribute in order to reveal the content before scrolling to + it. In addition to removing the hidden attribute, an event named + beforematch is also fired on the hidden element before the + hidden attribute is removed.

    -

    User agents must use content-visibility:hidden instead of display:none when the hidden attribute is "until-found", as specified in the Rendering section.

    +

    User agents must use content-visibility:hidden instead of display:none when the hidden attribute is "until-found", as specified in the Rendering section.

    Since hidden=until-found uses content-visibility:hidden instead of display:none, the hidden element must be display:block and will have a generated box unlike display:none.

    @@ -74784,14 +74784,14 @@ END:VCARD
    1. -

      If currentNode has the hidden=until-found attribute, then run +

      If currentNode has the hidden=until-found attribute, then run the following steps:

      1. Fire an event named beforematch at currentNode.

      2. -
      3. Remove the hidden attribute from currentNode.

      4. +
      5. Remove the hidden attribute from currentNode.

    2. From 80894400e117623b0b2f63ff166d125e43652cfa Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 12 Jan 2022 19:41:02 -0700 Subject: [PATCH 07/65] fixed all errors --- source | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source b/source index a710de28f4c..662d6bade2d 100644 --- a/source +++ b/source @@ -77797,17 +77797,17 @@ body { display:none } standardizing how find-in-page underlies the currently-unspecified window.find() API.

      -

      Interaction with details and hidden=until-found

      +

      Interaction with details and hidden=until-found

      When find-in-page begins searching for matches, all details elements in the page which do not have their open attribute set should have the skipped contents of their second slot become accessible, without modifying the open attribute, in order to make find-in-page able to search through it. Similarly, all HTML elements with the - hidden=until-found attribute should have their skipped contents become accessible without modifying the hidden + hidden=until-found attribute should have their skipped contents become accessible without modifying the hidden attribute in order to make find-in-page able to search through them. After find-in-page finishes - searching for matches, the details elements and the hidden=until-found + searching for matches, the details elements and the hidden=until-found elements should have their contents become skipped again. This entire process must happen synchronously (and so is not observable to users or to author code).

      @@ -77824,7 +77824,7 @@ body { display:none }
      1. Run the ancestor details revealing algorithm on node.

      2. -
      3. Run the ancestor hidden-until-found revealing algorithm on +

      4. Run the ancestor hidden=until-found revealing algorithm on node.

      5. Scroll node into @@ -89239,7 +89239,7 @@ new PaymentRequest(…); // Allowed to use

      6. Run the ancestor details revealing algorithm on target.

      7. -
      8. Run the ancestor hidden-until-found revealing algorithm on +

      9. Run the ancestor hidden=until-found revealing algorithm on target.

      10. Scroll target into view, @@ -126309,7 +126309,7 @@ INSERT INTERFACES HERE beforematch Event Elements - Fired on elements with the hidden=until-found attribute before they are + Fired on elements with the hidden=until-found attribute before they are revealed. From 12cbbda151a428fc0f0b0f84885ca8174e722d60 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 12 Jan 2022 19:46:16 -0700 Subject: [PATCH 08/65] wrapping --- source | 61 ++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/source b/source index 662d6bade2d..eff8f2bb044 100644 --- a/source +++ b/source @@ -74671,11 +74671,11 @@ END:VCARD

        The hidden attribute

        All HTML elements may have the hidden content attribute set. When specified - on an element, it indicates that the element is not yet, or is no longer, directly relevant to the - page's current state, or that it is being used to declare content to be reused by other parts of - the page as opposed to being directly accessed by the user. User agents should not - render elements that have the hidden attribute specified. This + data-x="attr-hidden">hidden content attribute set. When specified on an element, it + indicates that the element is not yet, or is no longer, directly relevant to the page's current + state, or that it is being used to declare content to be reused by other parts of the page as + opposed to being directly accessed by the user. User agents should not render + elements that have the hidden attribute specified. This requirement may be implemented indirectly through the style layer. For example, an HTML+CSS user agent could implement these requirements using the rules suggested in the Rendering section.

        @@ -74762,18 +74762,24 @@ END:VCARD

        The hidden IDL attribute must reflect the content attribute of the same name.

        -

        When an element has the value "until-found" for the hidden attribute, the content inside the element should be accessible to - find-in-page and When an element has the value "until-found" for the hidden attribute, the content + inside the element should be accessible to find-in-page and fragment navigation. When these features attempt to scroll to a - target which is in the element's subtree, the user agent must - remove the hidden attribute in order to reveal the content before scrolling to + target which is in the element's subtree, the user agent must remove the hidden attribute in order to reveal the content before scrolling to it. In addition to removing the hidden attribute, an event named - beforematch is also fired on the hidden element before the - hidden attribute is removed.

        + beforematch is also fired on the hidden element before the hidden + attribute is removed.

        -

        User agents must use content-visibility:hidden instead of display:none when the hidden attribute is "until-found", as specified in the Rendering section.

        +

        User agents must use content-visibility:hidden instead of display:none when the hidden + attribute is "until-found", as specified in the Rendering section.

        -

        Since hidden=until-found uses content-visibility:hidden instead of display:none, the hidden element must be display:block and will have a generated box unlike display:none.

        +

        Since hidden=until-found uses content-visibility:hidden instead of + display:none, the hidden element must be display:block and will have a generated box unlike display:none.

        The ancestor hidden=until-found revealing algorithm is to run the following steps on currentNode:

        @@ -74784,14 +74790,16 @@ END:VCARD
        1. -

          If currentNode has the hidden=until-found attribute, then run - the following steps:

          +

          If currentNode has the hidden=until-found attribute, then run the following + steps:

          1. Fire an event named beforematch at currentNode.

          2. -
          3. Remove the hidden attribute from currentNode.

          4. +
          5. Remove the hidden attribute from + currentNode.

        2. @@ -77797,19 +77805,21 @@ body { display:none } standardizing how find-in-page underlies the currently-unspecified window.find() API.

          -

          Interaction with details and hidden=until-found

          +

          Interaction with details and hidden=until-found

          When find-in-page begins searching for matches, all details elements in the page which do not have their open attribute set should have the skipped contents of their second slot become accessible, without modifying the open attribute, in - order to make find-in-page able to search through it. Similarly, all HTML elements with the - hidden=until-found attribute should have their skipped contents become accessible without modifying the hidden - attribute in order to make find-in-page able to search through them. After find-in-page finishes - searching for matches, the details elements and the hidden=until-found - elements should have their contents become skipped again. This entire process must happen - synchronously (and so is not observable to users or to author code).

          + order to make find-in-page able to search through it. Similarly, all HTML elements with the hidden=until-found attribute should have their skipped contents become accessible without modifying the hidden attribute in order to make find-in-page able to search through + them. After find-in-page finishes searching for matches, the details elements and the + hidden=until-found elements should have their + contents become skipped again. This entire process must happen synchronously (and so is not + observable to users or to author code).

          When find-in-page chooses a new active match, perform the following steps:

          @@ -126309,7 +126319,8 @@ INSERT INTERFACES HERE beforematch Event Elements - Fired on elements with the hidden=until-found attribute before they are + Fired on elements with the hidden=until-found attribute before they are revealed. From 0d6b2eb9cf1f74e993cd796f3acda8a8f16e51a8 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 20 Jan 2022 16:20:43 -0800 Subject: [PATCH 09/65] must -> is expected to --- source | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source b/source index 00a8effdafa..6cd6e8d4cf0 100644 --- a/source +++ b/source @@ -74758,19 +74758,19 @@ END:VCARD data-x="attr-hidden-until-found">"until-found" for the hidden attribute, the content inside the element should be accessible to find-in-page and fragment navigation. When these features attempt to scroll to a - target which is in the element's subtree, the user agent must remove the hidden attribute in order to reveal the content before scrolling to it. In addition to removing the hidden attribute, an event named beforematch is also fired on the hidden element before the hidden attribute is removed.

          -

          User agents must use content-visibility:hidden instead of display:none when the hidden - attribute is "until-found", as specified in the Rendering section.

          +

          User agents are expected to use content-visibility:hidden instead of display:none when the + hidden attribute is "until-found", as specified in + the Rendering section.

          Since hidden=until-found uses content-visibility:hidden instead of - display:none, the hidden element must be display:block and will have a unlike display:none.

          The ancestor hidden=until-found revealing algorithm is to run the following steps on From b411034cc496f7fc9b32a20aea109f562b23123a Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 20 Jan 2022 16:38:56 -0800 Subject: [PATCH 10/65] move ol into li --- source | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/source b/source index 6cd6e8d4cf0..a57f3736300 100644 --- a/source +++ b/source @@ -77821,17 +77821,18 @@ body { display:none } match.

        3. Queue a global task on the user interaction task source given - node's relevant global object to run the following steps:

        4. + node's relevant global object to run the following steps:

          -
            -
          1. Run the ancestor details revealing algorithm on node.

          2. +
              +
            1. Run the ancestor details revealing algorithm on node.

            2. -
            3. Run the ancestor hidden=until-found revealing algorithm on - node.

            4. +
            5. Run the ancestor hidden=until-found revealing algorithm on + node.

            6. -
            7. Scroll node into - view.

            8. -
            +
          3. Scroll node into + view.

          4. +
          +

        From 7aace23f566b972afb3aa37f150dc013f6b3efc8 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 25 Jan 2022 09:51:50 -0800 Subject: [PATCH 11/65] add i to attribute selector --- source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source b/source index a57f3736300..cb18955074c 100644 --- a/source +++ b/source @@ -117202,7 +117202,7 @@ noframes, param, rp, script, style, template, title { display: none; } -[hidden]:not([hidden=until-found]) { +[hidden]:not([hidden=until-found i]) { display: none; } From 65448e136b1dca44ad2fa1f928953e2f2a68cd34 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 25 Jan 2022 14:53:35 -0800 Subject: [PATCH 12/65] make hidden enumerated --- source | 96 +++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 62 insertions(+), 34 deletions(-) diff --git a/source b/source index cb18955074c..f9098f88391 100644 --- a/source +++ b/source @@ -74663,14 +74663,57 @@ END:VCARD

        The hidden attribute

        All HTML elements may have the hidden content attribute set. When specified on an element, it + data-x="attr-hidden">hidden content attribute set. The hidden attribute is an enumerated attribute. The + following table lists the states for this attribute:

        + + + + + + + + +
        State + Keywords + Notes +
        Until found state + until-found + +
        Hidden state + Anything besides until-found + If the attribute is set and has any value other than until-found, it is in the hidden state. +
        Visible state + hidden attribute not present + If the hidden attribute is not set at all on the element, it is in the visible + state. +
        + +

        When an element is in the hidden state, it indicates that the element is not yet, or is no longer, directly relevant to the page's current state, or that it is being used to declare content to be reused by other parts of the page as - opposed to being directly accessed by the user. User agents should not render - elements that have the hidden attribute specified. This - requirement may be implemented indirectly through the style layer. For example, an HTML+CSS user - agent could implement these requirements using the rules suggested in the - Rendering section.

        + opposed to being directly accessed by the user. User agents should not render elements that have + the hidden attribute specified. This requirement may be + implemented indirectly through the style layer. For example, an HTML+CSS user agent could + implement these requirements using the rules suggested in the Rendering + section.

        + +

        When an element is in the hidden until found + state, it indicates that the element is hidden like the hidden state but the content inside the element should be + accessible to find-in-page and fragment + navigation. When these features attempt to scroll to a target which is in the element's + subtree, the user agent is expected to remove the hidden + attribute in order to reveal the content before scrolling to it. In addition to removing the hidden attribute, an event named beforematch is also fired on the hidden element before the hidden + attribute is removed.

        + +

        User agents are expected to use content-visibility:hidden instead of display:none when the + hidden attribute is "until-found", as + specified in the Rendering section.

        Because this attribute is typically implemented using CSS, it's also possible to override it using CSS. For instance, a rule that applies 'display: block' to all elements will @@ -74678,6 +74721,10 @@ END:VCARD have to take care when writing their style sheets to make sure that the attribute is still styled as expected.

        +

        Since hidden=until-found uses content-visibility:hidden instead of + display:none, the hidden element is expected to be display:block and will have a generated box unlike display:none.

        +

        In the following skeletal example, the attribute is used to hide the web game's main screen @@ -74754,25 +74801,6 @@ END:VCARD

        The hidden IDL attribute must reflect the content attribute of the same name.

        -

        When an element has the value "until-found" for the hidden attribute, the content - inside the element should be accessible to find-in-page and fragment navigation. When these features attempt to scroll to a - target which is in the element's subtree, the user agent is expected to remove the hidden attribute in order to reveal the content before scrolling to - it. In addition to removing the hidden attribute, an event named - beforematch is also fired on the hidden element before the hidden - attribute is removed.

        - -

        User agents are expected to use content-visibility:hidden instead of display:none when the - hidden attribute is "until-found", as specified in - the Rendering section.

        - -

        Since hidden=until-found uses content-visibility:hidden instead of - display:none, the hidden element is expected to be display:block and will have a generated box unlike display:none.

        -

        The ancestor hidden=until-found revealing algorithm is to run the following steps on currentNode:

        @@ -74783,7 +74811,7 @@ END:VCARD
        1. If currentNode has the hidden=until-found attribute, then run the following + data-x="attr-hidden-until-found-state">hidden=until-found attribute, then run the following steps:

            @@ -77798,18 +77826,18 @@ body { display:none } data-x="">window.find() API.

            Interaction with details and hidden=until-found

            + data-x="attr-hidden-until-found-state">hidden=until-found

            When find-in-page begins searching for matches, all details elements in the page - which do not have their open attribute set should have - the skipped contents of their second slot become - accessible, without modifying the open attribute, in - order to make find-in-page able to search through it. Similarly, all HTML elements with the hidden=until-found attribute should have their open attribute set should have the + skipped contents of their second slot become accessible, + without modifying the open attribute, in order to make + find-in-page able to search through it. Similarly, all HTML elements with the hidden=until-found attribute should have their skipped contents become accessible without modifying the hidden attribute in order to make find-in-page able to search through them. After find-in-page finishes searching for matches, the details elements and the - hidden=until-found elements should have their + hidden=until-found elements should have their contents become skipped again. This entire process must happen synchronously (and so is not observable to users or to author code).

            @@ -126332,7 +126360,7 @@ INSERT INTERFACES HERE Event Elements Fired on elements with the hidden=until-found attribute before they are + data-x="attr-hidden-until-found-state">hidden=until-found attribute before they are revealed. From ca6d5344963489c75f6b44cddab9415cad2e6689 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 26 Jan 2022 08:51:16 -0800 Subject: [PATCH 13/65] add i to attribute selector --- source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source b/source index f9098f88391..eea0cce7426 100644 --- a/source +++ b/source @@ -117234,7 +117234,7 @@ noframes, param, rp, script, style, template, title { display: none; } -[hidden=until-found] { +[hidden=until-found i] { content-visibility: hidden; } From e7258209341bf66709ea63821a7ca897a6f5c29b Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 26 Jan 2022 15:10:59 -0800 Subject: [PATCH 14/65] rewrite content-visibility note --- source | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/source b/source index eea0cce7426..a49267e7901 100644 --- a/source +++ b/source @@ -74717,13 +74717,29 @@ END:VCARD

            Because this attribute is typically implemented using CSS, it's also possible to override it using CSS. For instance, a rule that applies 'display: block' to all elements will - cancel the effects of the hidden attribute. Authors therefore - have to take care when writing their style sheets to make sure that the attribute is still styled - as expected.

            + cancel the effects of the hidden state. Authors + therefore have to take care when writing their style sheets to make sure that the attribute is + still styled as expected.

            -

            Since hidden=until-found uses content-visibility:hidden instead of - display:none, the hidden element is expected to be display:block and will have a generated box unlike display:none.

            +
            +

            Since hidden=until-found uses content-visibility:hidden instead of display:none, + there are two caveats of the hidden until found + state that make it different from the hidden + state:

            + +
              +
            1. The element should be affected by layout containment in order + to be hidden. This means that the element in the hidden until found state shouldn't have a display + value of none, contents, or span for example.

            2. + +
            3. The element will still have a generated box when in the hidden until found state, which means that + borders, margin, and padding will still be rendered around the element.

            4. +
            +
            From 09fdbdef7c3cf806dc3f35c3222fdea34d5769c1 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 26 Jan 2022 15:15:44 -0800 Subject: [PATCH 15/65] hidden attribute -> hidden state --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index a49267e7901..2cf372bbb19 100644 --- a/source +++ b/source @@ -74693,8 +74693,8 @@ END:VCARD

            When an element is in the hidden state, it indicates that the element is not yet, or is no longer, directly relevant to the page's current state, or that it is being used to declare content to be reused by other parts of the page as - opposed to being directly accessed by the user. User agents should not render elements that have - the hidden attribute specified. This requirement may be + opposed to being directly accessed by the user. User agents should not render elements that are in + the hidden state. This requirement may be implemented indirectly through the style layer. For example, an HTML+CSS user agent could implement these requirements using the rules suggested in the Rendering section.

            From 3dc6833d2effa2a750932d92655f09dc20521e4e Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 26 Jan 2022 17:10:19 -0800 Subject: [PATCH 16/65] use invalid value default and missing value default --- source | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/source b/source index 2cf372bbb19..d039bf5e3ae 100644 --- a/source +++ b/source @@ -74672,24 +74672,22 @@ END:VCARD State Keywords - Notes Until found state until-found - Hidden state - Anything besides until-found - If the attribute is set and has any value other than until-found, it is in the hidden state. + Hidden state + The empty string - Visible state - hidden attribute not present - If the hidden attribute is not set at all on the element, it is in the visible - state. + hidden +

            The attribute may be omitted. The invalid value default + is the hidden state. The missing value default is the visible state.

            +

            When an element is in the hidden state, it indicates that the element is not yet, or is no longer, directly relevant to the page's current state, or that it is being used to declare content to be reused by other parts of the page as From 206a8029c923f0378c6ff834255786a192f49870 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 27 Jan 2022 08:21:01 -0800 Subject: [PATCH 17/65] add until found attribute selector for embed --- source | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source b/source index d039bf5e3ae..099142cc6e3 100644 --- a/source +++ b/source @@ -117252,7 +117252,9 @@ noframes, param, rp, script, style, template, title { content-visibility: hidden; } -embed[hidden] { display: inline; height: 0; width: 0; } +embed[hidden]:not([hidden=until-found]) { display: inline; height: 0; width: 0; } + +embed[hidden=until-found] { content-visibility: hidden; } input[type=hidden i] { display: none !important; } From f7a1366e4220360af3ab17cc6b0e613a0c04a4d6 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 27 Jan 2022 08:21:44 -0800 Subject: [PATCH 18/65] remove extra selector --- source | 2 -- 1 file changed, 2 deletions(-) diff --git a/source b/source index 099142cc6e3..234cd8ea94c 100644 --- a/source +++ b/source @@ -117254,8 +117254,6 @@ noframes, param, rp, script, style, template, title { embed[hidden]:not([hidden=until-found]) { display: inline; height: 0; width: 0; } -embed[hidden=until-found] { content-visibility: hidden; } - input[type=hidden i] { display: none !important; } @media (scripting) { From 08adbe791b433844779ed365cbdc20589dc75942 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 27 Jan 2022 13:41:08 -0800 Subject: [PATCH 19/65] shouldnt -> discouraged --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index 234cd8ea94c..cc5c183bda4 100644 --- a/source +++ b/source @@ -74729,8 +74729,8 @@ END:VCARD

          1. The element should be affected by layout containment in order to be hidden. This means that the element in the hidden until found state shouldn't have a display - value of none, contents, or span for example.

          2. + data-x="attr-hidden-until-found-state">hidden until found state is discouraged from + having a display value of none, contents, or span for example.

          3. The element will still have a generated box when in the Date: Thu, 27 Jan 2022 13:45:35 -0800 Subject: [PATCH 20/65] remove second should in note --- source | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source b/source index cc5c183bda4..fed8a7eeddb 100644 --- a/source +++ b/source @@ -74726,11 +74726,12 @@ END:VCARD state:

              -
            1. The element should be affected by layout containment in order - to be hidden. This means that the element in the hidden until found state is discouraged from - having a display value of none, contents, or span for example.

            2. +
            3. If a hidden until found element is + not affected by layout containment, then it + will not be hidden. hidden until found + elements are discouraged from being unaffected by layout containment. For example, having a + display value of none, contents, or span is discouraged.

            4. The element will still have a generated box when in the Date: Thu, 27 Jan 2022 13:55:34 -0800 Subject: [PATCH 21/65] add dfn for not hidden state --- source | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source b/source index fed8a7eeddb..1feff189722 100644 --- a/source +++ b/source @@ -74686,7 +74686,8 @@ END:VCARD

              The attribute may be omitted. The invalid value default is the hidden state. The missing value default is the visible state.

              + default">missing value default is the not + hidden state.

              When an element is in the hidden state, it indicates that the element is not yet, or is no longer, directly relevant to the page's current From e8d2b9a3e2fa992b1eed3080c991be31a9d2cd17 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 27 Jan 2022 13:57:21 -0800 Subject: [PATCH 22/65] is expected -> will --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index 1feff189722..e742bcc5302 100644 --- a/source +++ b/source @@ -74703,8 +74703,8 @@ END:VCARD data-x="attr-hidden-hidden-state">hidden state but the content inside the element should be accessible to find-in-page and fragment navigation. When these features attempt to scroll to a target which is in the element's - subtree, the user agent is expected to remove the hidden - attribute in order to reveal the content before scrolling to it. In addition to removing the hidden attribute in + order to reveal the content before scrolling to it. In addition to removing the hidden attribute, an event named beforematch is also fired on the hidden element before the hidden From e701e985c74e2dc344f5cb1178a1a2a8c8c63efb Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 27 Jan 2022 14:05:06 -0800 Subject: [PATCH 23/65] expected -> will --- source | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source b/source index e742bcc5302..a47e2d18fa2 100644 --- a/source +++ b/source @@ -74710,9 +74710,10 @@ END:VCARD data-x="attr-hidden">hidden element before the hidden attribute is removed.

              -

              User agents are expected to use content-visibility:hidden instead of display:none when the - hidden attribute is "until-found", as - specified in the Rendering section.

              +

              User agents that support CSS will use 'content-visibility: hidden' instead of 'display: none' + when the hidden attribute is in the hidden until found state, as specified in the Rendering section.

              Because this attribute is typically implemented using CSS, it's also possible to override it using CSS. For instance, a rule that applies 'display: block' to all elements will From 90e266ce9abb418f0592d37bd5ffa005818d2a71 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 27 Jan 2022 14:09:20 -0800 Subject: [PATCH 24/65] code -> span --- source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source b/source index a47e2d18fa2..41b426b4fef 100644 --- a/source +++ b/source @@ -74717,7 +74717,7 @@ END:VCARD

              Because this attribute is typically implemented using CSS, it's also possible to override it using CSS. For instance, a rule that applies 'display: block' to all elements will - cancel the effects of the hidden state. Authors + cancel the effects of the hidden state. Authors therefore have to take care when writing their style sheets to make sure that the attribute is still styled as expected.

              From 81c9644ccb6e1d87fb194a7f02bb85772d16a51c Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 27 Jan 2022 14:10:57 -0800 Subject: [PATCH 25/65] rewrite note intro --- source | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/source b/source index 41b426b4fef..9c20c137a0a 100644 --- a/source +++ b/source @@ -74722,10 +74722,11 @@ END:VCARD still styled as expected.

              -

              Since hidden=until-found uses content-visibility:hidden instead of display:none, - there are two caveats of the hidden until found - state that make it different from the hidden - state:

              +

              Since elements with the hidden attribute in the hidden until found state use 'content-visibility: + hidden' instead of 'display: none', there are two caveats of the hidden until found state that make it different + from the hidden state:

              1. If a hidden until found element is From d18bd7ba22cdfd8c4d98e938bdcfa676887f1bd0 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 27 Jan 2022 14:18:10 -0800 Subject: [PATCH 26/65] dependency for layout containment --- source | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/source b/source index 9c20c137a0a..bc3cc281872 100644 --- a/source +++ b/source @@ -3813,6 +3813,13 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute

                • skips its contents
                + +

                The following term is defined in CSS Containment:

                + +
                  +
                • layout + containment
                • +
                @@ -74729,12 +74736,10 @@ END:VCARD from the hidden state:

                  -
                1. If a hidden until found element is - not affected by layout containment, then it - will not be hidden. hidden until found - elements are discouraged from being unaffected by layout containment. For example, having a - display value of none, contents, or span is discouraged.

                2. +
                3. The element needs to be affected by layout containment in order to be + hidden. This means that the element in the hidden + until found state can't have a 'display' value of 'none', or 'contents' for + example.

                4. The element will still have a generated box when in the Date: Thu, 27 Jan 2022 14:24:27 -0800 Subject: [PATCH 27/65] hidden=until-found -> hidden attribute in the hidden until found state --- source | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source b/source index bc3cc281872..1b187566b64 100644 --- a/source +++ b/source @@ -77856,13 +77856,15 @@ body { display:none } skipped contents of their second slot become accessible, without modifying the open attribute, in order to make find-in-page able to search through it. Similarly, all HTML elements with the hidden=until-found attribute should have their hidden until found state should have their skipped contents become accessible without modifying the hidden attribute in order to make find-in-page able to search through them. After find-in-page finishes searching for matches, the details elements and the - hidden=until-found elements should have their - contents become skipped again. This entire process must happen synchronously (and so is not - observable to users or to author code).

                  + elements with the hidden attribute in the hidden until found state should have their contents + become skipped again. This entire process must happen synchronously (and so is not observable to + users or to author code).

                  When find-in-page chooses a new active match, perform the following steps:

                  From 63060cf59e39270a94c96c49177f1e5cce2207b2 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 27 Jan 2022 14:25:58 -0800 Subject: [PATCH 28/65] fix compile errors --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index 1b187566b64..a4444c00ff7 100644 --- a/source +++ b/source @@ -77856,8 +77856,8 @@ body { display:none } skipped contents of their second slot become accessible, without modifying the open attribute, in order to make find-in-page able to search through it. Similarly, all HTML elements with the hidden until found state should have their hidden attribute in the hidden until found state should have their skipped contents become accessible without modifying the hidden attribute in order to make find-in-page able to search through them. After find-in-page finishes searching for matches, the details elements and the From 1cb11b2f2986233a6bad886ba9536f69b127f521 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 2 Feb 2022 09:46:05 -0800 Subject: [PATCH 29/65] custom getter and setter steps --- source | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/source b/source index a4444c00ff7..d962bc102e7 100644 --- a/source +++ b/source @@ -74822,7 +74822,31 @@ END:VCARD

                  The hidden IDL - attribute must reflect the content attribute of the same name.

                  + attribute has the following getter steps given the current attribute value:

                  + +
                    +
                  1. If value is "until-found", then return + "until-found".

                  2. + +
                  3. Otherwise, if value is truthy, return true.

                  4. + +
                  5. Otherwise, return false.

                  6. +
                  + +

                  The hidden IDL attribute has the following setter steps when + set to value:

                  + +
                    +
                  1. If value is "until-found", then set the hidden attribute to + "until-found".

                  2. + +
                  3. Otherwise, if value is truthy, then set the hidden attribute to the empty + string.

                  4. + +
                  5. Otherwise, remove the hidden attribute.

                  6. +

                  The ancestor hidden=until-found revealing algorithm is to run the following steps on currentNode:

                  From 05c2dbfe5f11f69e840bf2cf21b9fd2a4c5201fd Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 9 Feb 2022 08:01:06 -0800 Subject: [PATCH 30/65] until-found value => until-found state --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index d962bc102e7..148ab0b12ab 100644 --- a/source +++ b/source @@ -74825,8 +74825,8 @@ END:VCARD attribute has the following getter steps given the current attribute value:

                    -
                  1. If value is "until-found", then return +

                  2. If value is in the until-found state, then return "until-found".

                  3. Otherwise, if value is truthy, return true.

                  4. From ec99d060dd04aed2df5c8fde6cc7f5f23aea4a7a Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 9 Feb 2022 08:35:10 -0800 Subject: [PATCH 31/65] look at attribute instead of value --- source | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source b/source index 148ab0b12ab..7fcfa4ff308 100644 --- a/source +++ b/source @@ -74826,10 +74826,11 @@ END:VCARD
                    1. If value is in the until-found state, then return - "until-found".

                    2. + data-x="attr-hidden-until-found-state">until-found state, then return "until-found".

                      -
                    3. Otherwise, if value is truthy, return true.

                    4. +
                    5. Otherwise, if the hidden attribute is set, return + true.

                    6. Otherwise, return false.

                    @@ -74842,8 +74843,8 @@ END:VCARD data-x="attr-hidden-until-found-keyword">"until-found", then set the hidden attribute to "until-found".

                    -
                  5. Otherwise, if value is truthy, then set the hidden attribute to the empty - string.

                  6. +
                  7. Otherwise, if value is truthy, then set the hidden attribute to the empty string.

                  8. Otherwise, remove the hidden attribute.

                  From 8fe8e25fd42df9ad7b87ae7f99b8efcdc001c9ab Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 9 Feb 2022 08:40:19 -0800 Subject: [PATCH 32/65] add DOMString to IDL --- source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source b/source index 7fcfa4ff308..472440aa946 100644 --- a/source +++ b/source @@ -10321,7 +10321,7 @@ interface HTMLElement : Element { [CEReactions] attribute DOMString dir; // user interaction - [CEReactions] attribute boolean hidden; + [CEReactions] attribute (boolean or DOMString) hidden; undefined click(); [CEReactions] attribute DOMString accessKey; readonly attribute DOMString accessKeyLabel; From 732f6941dcc9c8b4b89fc39f9b39b0f418325adc Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 10 Feb 2022 08:20:27 -0800 Subject: [PATCH 33/65] expand note about interactions with page css --- source | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source b/source index f7d4ef2a64d..2107d3714e5 100644 --- a/source +++ b/source @@ -74790,7 +74790,11 @@ END:VCARD override it using CSS. For instance, a rule that applies 'display: block' to all elements will cancel the effects of the hidden state. Authors therefore have to take care when writing their style sheets to make sure that the attribute is - still styled as expected.

                  + still styled as expected. In addition, user agents which don't support the hidden until found state will have 'display: none' + instead of 'content-visibility: hidden', so authors are encouraged to make sure that their style + sheets don't change the 'display' or 'content-visibility' properties of hidden until found elements.

                  Since elements with the hidden attribute in the Date: Wed, 2 Mar 2022 11:26:10 -0800 Subject: [PATCH 34/65] add code around hidden --- source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source b/source index 2107d3714e5..6ec7b51f3e2 100644 --- a/source +++ b/source @@ -74914,7 +74914,7 @@ END:VCARD

                5. Otherwise, if value is truthy, then set the hidden attribute to the empty string.

                6. -
                7. Otherwise, remove the hidden attribute.

                8. +
                9. Otherwise, remove the hidden attribute.

                The ancestor hidden=until-found revealing algorithm is to run the following steps on From 0bb2751cd221882f1b8f565a6d22c71465172e64 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 2 Mar 2022 12:29:21 -0800 Subject: [PATCH 35/65] fix hidden until found state --- source | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source b/source index 6ec7b51f3e2..42e504cf12a 100644 --- a/source +++ b/source @@ -74926,9 +74926,9 @@ END:VCARD

                1. -

                  If currentNode has the hidden=until-found attribute, then run the following - steps:

                  +

                  If currentNode has the hidden attribute in the + hidden until found state, then run the + following steps:

                  1. Fire an event named Date: Wed, 2 Mar 2022 13:05:25 -0800 Subject: [PATCH 36/65] move quote marks outside of code --- source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source b/source index 42e504cf12a..c8b17121865 100644 --- a/source +++ b/source @@ -74909,7 +74909,7 @@ END:VCARD

                    1. If value is "until-found", then set the hidden attribute to - "until-found".

                    2. + "until-found".

                    3. Otherwise, if value is truthy, then set the hidden attribute to the empty string.

                    4. From a06526817b592a5dc5bb86a6dd01172fe08179f2 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 2 Mar 2022 13:27:36 -0800 Subject: [PATCH 37/65] remove scroll into view step --- source | 3 --- 1 file changed, 3 deletions(-) diff --git a/source b/source index c8b17121865..80c8061a5e7 100644 --- a/source +++ b/source @@ -77976,9 +77976,6 @@ body { display:none }
                    5. Run the ancestor hidden=until-found revealing algorithm on node.

                    6. - -
                    7. Scroll node into - view.

                  From 064105d6d4a078f4af757f66653a93ba2b8f1fac Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 2 Mar 2022 13:49:38 -0800 Subject: [PATCH 38/65] separate hidden attribute and state --- source | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/source b/source index 80c8061a5e7..ea536ad3f3d 100644 --- a/source +++ b/source @@ -74760,24 +74760,24 @@ END:VCARD default">missing value default is the not hidden state.

                  -

                  When an element is in the hidden state, it - indicates that the element is not yet, or is no longer, directly relevant to the page's current - state, or that it is being used to declare content to be reused by other parts of the page as - opposed to being directly accessed by the user. User agents should not render elements that are in - the hidden state. This requirement may be - implemented indirectly through the style layer. For example, an HTML+CSS user agent could - implement these requirements using the rules suggested in the Rendering - section.

                  - -

                  When an element is in the hidden until found - state, it indicates that the element is hidden like the hidden state but the content inside the element should be - accessible to find-in-page and fragment - navigation. When these features attempt to scroll to a target which is in the element's - subtree, the user agent will to remove the hidden attribute in - order to reveal the content before scrolling to it. In addition to removing the hidden attribute, an event named beforematch is also fired on the When an element has the hidden attribute in the hidden state, it indicates that the element is not yet, or + is no longer, directly relevant to the page's current state, or that it is being used to declare + content to be reused by other parts of the page as opposed to being directly accessed by the user. + User agents should not render elements that are in the hidden state. This requirement may be implemented + indirectly through the style layer. For example, an HTML+CSS user agent could implement these + requirements using the rules suggested in the Rendering section.

                  + +

                  When an element has the hidden attribute in the hidden until found state, it indicates that the + element is hidden like the hidden state but the + content inside the element should be accessible to find-in-page and fragment navigation. When these features attempt to scroll to a + target which is in the element's subtree, the user agent will to remove the hidden attribute in order to reveal the content before scrolling to + it. In addition to removing the hidden attribute, an event named + beforematch is also fired on the hidden element before the hidden attribute is removed.

                  From 1466e3cd3cab09b4ce1eb19894b56f5506a679ef Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 8 Mar 2022 11:50:54 -0800 Subject: [PATCH 39/65] Remove otherwise --- source | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source b/source index ea536ad3f3d..0e23b9578a8 100644 --- a/source +++ b/source @@ -74897,10 +74897,9 @@ END:VCARD data-x="attr-hidden-until-found-state">until-found state, then return "until-found".

                2. -
                3. Otherwise, if the hidden attribute is set, return - true.

                4. +
                5. If the hidden attribute is set, return true.

                6. -
                7. Otherwise, return false.

                8. +
                9. Return false.

                The hidden IDL attribute has the following setter steps when From e380a5009d05d9e929e1d313e6e798e5990c7900 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 8 Mar 2022 11:55:56 -0800 Subject: [PATCH 40/65] user agents with css -> web browsers --- source | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source b/source index 0e23b9578a8..c28b6efba79 100644 --- a/source +++ b/source @@ -74766,8 +74766,8 @@ END:VCARD content to be reused by other parts of the page as opposed to being directly accessed by the user. User agents should not render elements that are in the hidden state. This requirement may be implemented - indirectly through the style layer. For example, an HTML+CSS user agent could implement these - requirements using the rules suggested in the Rendering section.

                + indirectly through the style layer. For example, a web browser could implement these requirements + using the rules suggested in the Rendering section.

                When an element has the hidden attribute in the hidden until found state, it indicates that the @@ -74781,8 +74781,8 @@ END:VCARD data-x="attr-hidden">hidden element before the hidden attribute is removed.

                -

                User agents that support CSS will use 'content-visibility: hidden' instead of 'display: none' - when the hidden attribute is in the Web browsers will use 'content-visibility: hidden' instead of 'display: none' when the hidden attribute is in the hidden until found state, as specified in the Rendering section.

                From a5f07b8223940965ba7edd0b0d62b0accf42e768 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 8 Mar 2022 11:59:51 -0800 Subject: [PATCH 41/65] combine notes --- source | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/source b/source index c28b6efba79..2fb6d0bf8e7 100644 --- a/source +++ b/source @@ -74786,17 +74786,18 @@ END:VCARD data-x="attr-hidden-until-found-state">hidden until found state, as specified in the Rendering section.

                -

                Because this attribute is typically implemented using CSS, it's also possible to - override it using CSS. For instance, a rule that applies 'display: block' to all elements will - cancel the effects of the hidden state. Authors - therefore have to take care when writing their style sheets to make sure that the attribute is - still styled as expected. In addition, user agents which don't support the hidden until found state will have 'display: none' - instead of 'content-visibility: hidden', so authors are encouraged to make sure that their style - sheets don't change the 'display' or 'content-visibility' properties of hidden until found elements.

                +

                Because this attribute is typically implemented using CSS, it's also possible to override it + using CSS. For instance, a rule that applies 'display: block' to all elements will cancel the + effects of the hidden state. Authors therefore + have to take care when writing their style sheets to make sure that the attribute is still styled + as expected. In addition, user agents which don't support the hidden until found state will have 'display: none' + instead of 'content-visibility: hidden', so authors are encouraged to make sure that their style + sheets don't change the 'display' or 'content-visibility' properties of hidden until found elements.

                +

                Since elements with the hidden attribute in the hidden until found state use 'content-visibility: hidden' instead of 'display: none', there are two caveats of the Date: Tue, 8 Mar 2022 12:02:44 -0800 Subject: [PATCH 42/65] remove variable from idl setter steps --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index 2fb6d0bf8e7..2ee7f4a1722 100644 --- a/source +++ b/source @@ -74891,10 +74891,10 @@ END:VCARD

                The hidden IDL - attribute has the following getter steps given the current attribute value:

                + attribute has the following getter steps:

                  -
                1. If value is in the

                  If the hidden attribute is in the until-found state, then return "until-found".

                2. From bb761d0e36aadb024903d86eda45ac05cc43aabb Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 8 Mar 2022 13:46:58 -0800 Subject: [PATCH 43/65] replace truthy with checks for false and empty string --- source | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/source b/source index 2ee7f4a1722..6131c1f6dc9 100644 --- a/source +++ b/source @@ -74911,10 +74911,14 @@ END:VCARD data-x="attr-hidden-until-found-keyword">"until-found"
                  , then set the hidden attribute to "until-found".

                  -
                3. Otherwise, if value is truthy, then set the hidden attribute to the empty string.

                4. +
                5. Otherwise, if value is false, then remove the hidden attribute.

                6. -
                7. Otherwise, remove the hidden attribute.

                8. +
                9. Otherwise, if value is the empty string, then remove the hidden attribute.

                10. + +
                11. Otherwise, set the hidden attribute to the empty + string.

                The ancestor hidden=until-found revealing algorithm is to run the following steps on From 95042f19ec519674d485ba805d7520249153c70c Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 8 Mar 2022 14:12:27 -0800 Subject: [PATCH 44/65] add null to idl --- source | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source b/source index 6131c1f6dc9..61f851987e7 100644 --- a/source +++ b/source @@ -10322,7 +10322,7 @@ interface HTMLElement : Element { [CEReactions] attribute DOMString dir; // user interaction - [CEReactions] attribute (boolean or DOMString) hidden; + [CEReactions] attribute (boolean or DOMString?) hidden; undefined click(); [CEReactions] attribute DOMString accessKey; readonly attribute DOMString accessKeyLabel; @@ -74917,6 +74917,9 @@ END:VCARD

              2. Otherwise, if value is the empty string, then remove the hidden attribute.

              3. +
              4. Otherwise, if value is null, then remove the hidden attribute.

              5. +
              6. Otherwise, set the hidden attribute to the empty string.

              From 377a2d57e5fe763fac4d899233407c4d49dc211b Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 8 Mar 2022 14:26:01 -0800 Subject: [PATCH 45/65] 2 small nits --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index 61f851987e7..a79dedff3fe 100644 --- a/source +++ b/source @@ -74758,7 +74758,7 @@ END:VCARD

              The attribute may be omitted. The invalid value default is the hidden state. The missing value default is the not - hidden state.

              + hidden state.

              When an element has the hidden attribute in the hidden state, it indicates that the element is not yet, or @@ -74774,7 +74774,7 @@ END:VCARD element is hidden like the hidden state but the content inside the element should be accessible to find-in-page and fragment navigation. When these features attempt to scroll to a - target which is in the element's subtree, the user agent will to remove the hidden attribute in order to reveal the content before scrolling to it. In addition to removing the hidden attribute, an event named beforematch is also fired on the Date: Tue, 8 Mar 2022 14:29:14 -0800 Subject: [PATCH 46/65] replace = with - in algorithm name --- source | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source b/source index a79dedff3fe..7f04855adac 100644 --- a/source +++ b/source @@ -74924,7 +74924,7 @@ END:VCARD string.

            -

            The ancestor hidden=until-found revealing algorithm is to run the following steps on +

            The ancestor hidden-until-found revealing algorithm is to run the following steps on currentNode:

              @@ -77981,7 +77981,7 @@ body { display:none }
              1. Run the ancestor details revealing algorithm on node.

              2. -
              3. Run the ancestor hidden=until-found revealing algorithm on +

              4. Run the ancestor hidden-until-found revealing algorithm on node.

              @@ -89420,7 +89420,7 @@ new PaymentRequest(…); // Allowed to use
            1. Run the ancestor details revealing algorithm on target.

            2. -
            3. Run the ancestor hidden=until-found revealing algorithm on +

            4. Run the ancestor hidden-until-found revealing algorithm on target.

            5. Scroll target into view, From d043b7745fe4d90773236a2af6abb95ffb12c39f Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 8 Mar 2022 14:42:32 -0800 Subject: [PATCH 47/65] 2 more nits --- source | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source b/source index 7f04855adac..9349723795d 100644 --- a/source +++ b/source @@ -74934,8 +74934,7 @@ END:VCARD

              1. If currentNode has the hidden attribute in the - hidden until found state, then run the - following steps:

                + hidden until found state, then:

                1. Fire an event named open attribute, in order to make find-in-page able to search through it. Similarly, all HTML elements with the hidden attribute in the hidden until found state should have their hidden until found state should have their skipped contents become accessible without modifying the hidden attribute in order to make find-in-page able to search through them. After find-in-page finishes searching for matches, the details elements and the From 5d51c96d7792612a6e4aff6c689f7e2c3d901401 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 8 Mar 2022 14:56:30 -0800 Subject: [PATCH 48/65] ASCII case-insensitive match --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index 9349723795d..4f9a736e1d9 100644 --- a/source +++ b/source @@ -74907,8 +74907,8 @@ END:VCARD set to value:

                    -
                  1. If value is "until-found", then set the hidden attribute to +

                  2. If value is an ASCII case-insensitive match for "until-found", then set the hidden attribute to "until-found".

                  3. Otherwise, if value is false, then remove the Date: Wed, 9 Mar 2022 14:07:44 -0800 Subject: [PATCH 49/65] wrap ascii case insensitive in span --- source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source b/source index 4f9a736e1d9..66d85920972 100644 --- a/source +++ b/source @@ -74907,7 +74907,7 @@ END:VCARD set to value:

                      -
                    1. If value is an ASCII case-insensitive match for "

                      If value is an ASCII case-insensitive match for "until-found", then set the hidden attribute to "until-found".

                    2. From e0726f95fee313ed9108599f1a7966dd031f6ecd Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Thu, 10 Mar 2022 10:58:28 -0800 Subject: [PATCH 50/65] nits --- source | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/source b/source index 66d85920972..5c4a6214307 100644 --- a/source +++ b/source @@ -74792,7 +74792,7 @@ END:VCARD using CSS. For instance, a rule that applies 'display: block' to all elements will cancel the effects of the hidden state. Authors therefore have to take care when writing their style sheets to make sure that the attribute is still styled - as expected. In addition, user agents which don't support the hidden until found state will have 'display: none' instead of 'content-visibility: hidden', so authors are encouraged to make sure that their style sheets don't change the 'display' or 'content-visibility' properties of
                      1. If the hidden attribute is in the until-found state, then return "until-found".

                      2. + data-x="attr-hidden-until-found-state">until-found state, then return "until-found".

                        -
                      3. If the hidden attribute is set, return true.

                      4. +
                      5. If the hidden attribute is set, then return + true.

                      6. Return false.

                      @@ -74908,8 +74909,9 @@ END:VCARD
                      1. If value is an ASCII case-insensitive match for "until-found", then set the hidden attribute to - "until-found".

                      2. + data-x="attr-hidden-until-found-keyword">until-found
                        ", then set the hidden attribute to "until-found".

                      3. Otherwise, if value is false, then remove the hidden attribute.

                      4. @@ -117385,7 +117387,7 @@ noframes, param, rp, script, style, template, title { content-visibility: hidden; } -embed[hidden]:not([hidden=until-found]) { display: inline; height: 0; width: 0; } +embed[hidden]:not([hidden=until-found i]) { display: inline; height: 0; width: 0; } input[type=hidden i] { display: none !important; } From bfcb672a2eebc9b7d1be8ba03d791beb926ece59 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 15 Mar 2022 13:13:34 -0700 Subject: [PATCH 51/65] onbeforematch --- source | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source b/source index 53b6ab6b535..2023bf5826d 100644 --- a/source +++ b/source @@ -11800,6 +11800,7 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
                        • onauxclick
                        • +
                        • onbeforematch
                        • onblur*
                        • oncancel
                        • oncanplay
                        • @@ -96669,6 +96670,7 @@ typedef OnBeforeUnloadEventHandlerNonNull? OnBeforeUnl onabort abort onauxclick auxclick + onbeforematch beforematch oncancel cancel oncanplay canplay oncanplaythrough canplaythrough @@ -96853,6 +96855,7 @@ typedef OnBeforeUnloadEventHandlerNonNull? OnBeforeUnl
                          interface mixin GlobalEventHandlers {
                             attribute EventHandler onabort;
                             attribute EventHandler onauxclick;
                          +  attribute EventHandler onbeforematch;
                             attribute EventHandler onblur;
                             attribute EventHandler oncancel;
                             attribute EventHandler oncanplay;
                          @@ -125070,6 +125073,12 @@ interface External {
                                 afterprint event handler for Window object
                                 Event handler content attribute
                           
                          +    
                          +      onbeforematch
                          +      HTML elements
                          +      beforematch event handler
                          +      Event handler content attribute
                          +
                               
                                 onbeforeprint
                                 body
                          
                          From cb88ab9990be5b87957930476a7589bf07b399ae Mon Sep 17 00:00:00 2001
                          From: Joey Arhar 
                          Date: Tue, 15 Mar 2022 13:16:58 -0700
                          Subject: [PATCH 52/65] combine css containment definition lists
                          
                          ---
                           source | 7 +------
                           1 file changed, 1 insertion(+), 6 deletions(-)
                          
                          diff --git a/source b/source
                          index 2023bf5826d..6d57add61e8 100644
                          --- a/source
                          +++ b/source
                          @@ -3814,15 +3814,10 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
                                
                        • '::file-selector-button'
                        -

                        The following term is defined in CSS Containment:

                        +

                        The following terms are defined in CSS Containment:

                        • skips its contents
                        • -
                        - -

                        The following term is defined in CSS Containment:

                        - -
                        • layout containment
                        From 39db0dc1b47bed104d4c706e1985e2d57dfed971 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 15 Mar 2022 13:17:48 -0700 Subject: [PATCH 53/65] code -> span --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index 6d57add61e8..5c22d47611d 100644 --- a/source +++ b/source @@ -75034,8 +75034,8 @@ END:VCARD data-x="attr-hidden-hidden-state">hidden state, it indicates that the element is not yet, or is no longer, directly relevant to the page's current state, or that it is being used to declare content to be reused by other parts of the page as opposed to being directly accessed by the user. - User agents should not render elements that are in the hidden state. This requirement may be implemented + User agents should not render elements that are in the hidden state. This requirement may be implemented indirectly through the style layer. For example, a web browser could implement these requirements using the rules suggested in the Rendering section.

                        From ecd4a326ee90d66d70f851f64bd7b99c3221e74a Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 15 Mar 2022 13:18:25 -0700 Subject: [PATCH 54/65] should->will --- source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source b/source index 5c22d47611d..a8ccd970408 100644 --- a/source +++ b/source @@ -75042,7 +75042,7 @@ END:VCARD

                        When an element has the hidden attribute in the hidden until found state, it indicates that the element is hidden like the hidden state but the - content inside the element should be accessible to find-in-page and find-in-page and fragment navigation. When these features attempt to scroll to a target which is in the element's subtree, the user agent will remove the hidden attribute in order to reveal the content before scrolling to From c173bd42290f4fcd5fd78599ad54687859e57b98 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 15 Mar 2022 13:19:08 -0700 Subject: [PATCH 55/65] code->span --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index a8ccd970408..f168a40a810 100644 --- a/source +++ b/source @@ -75047,8 +75047,8 @@ END:VCARD target which is in the element's subtree, the user agent will remove the hidden attribute in order to reveal the content before scrolling to it. In addition to removing the hidden attribute, an event named - beforematch is also fired on the hidden element before the hidden + beforematch is also fired on the hidden element before the hidden attribute is removed.

                        Web browsers will use 'content-visibility: hidden' instead of 'display: none' when the Date: Tue, 15 Mar 2022 13:20:21 -0700 Subject: [PATCH 56/65] remove extra hidden --- source | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source b/source index f168a40a810..53a64b44cca 100644 --- a/source +++ b/source @@ -75047,9 +75047,8 @@ END:VCARD target which is in the element's subtree, the user agent will remove the hidden attribute in order to reveal the content before scrolling to it. In addition to removing the hidden attribute, an event named - beforematch is also fired on the hidden element before the hidden - attribute is removed.

                        + beforematch is also fired on the element before the hidden attribute is removed.

                        Web browsers will use 'content-visibility: hidden' instead of 'display: none' when the hidden attribute is in the Date: Tue, 15 Mar 2022 13:30:47 -0700 Subject: [PATCH 57/65] use external resource for visibility --- source | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/source b/source index 53a64b44cca..ccfc6ed15ea 100644 --- a/source +++ b/source @@ -75079,10 +75079,9 @@ END:VCARD until found state can't have a 'display' value of 'none', or 'contents' for example.

                        -
                      5. The element will still have a generated box when in the hidden until found state, which means that - borders, margin, and padding will still be rendered around the element.

                      6. +
                      7. The element will still have a generated box when in + the hidden until found state, which means + that borders, margin, and padding will still be rendered around the element.

          4. From f3456c2d7405984452ae6c7e93dd691fc226e54d Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 15 Mar 2022 13:38:39 -0700 Subject: [PATCH 58/65] use attr-value --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index ccfc6ed15ea..5d67f1f9c83 100644 --- a/source +++ b/source @@ -75016,13 +75016,13 @@ END:VCARD Until found state - until-found + until-found Hidden state The empty string - hidden + hidden

            The attribute may be omitted. The invalid value default From ec6f978e153b0f691d79685d4dc3f38a9d7839bd Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 15 Mar 2022 13:44:06 -0700 Subject: [PATCH 59/65] getter and setter fixes --- source | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/source b/source index 5d67f1f9c83..46b0750534c 100644 --- a/source +++ b/source @@ -75158,8 +75158,8 @@ END:VCARD

            -

            The hidden IDL - attribute has the following getter steps:

            +

            The hidden getter steps + are:

            1. If the hidden attribute is in the

            2. Return false.

            -

            The hidden IDL attribute has the following setter steps when - set to value:

            +

            The hidden setter steps are:

              -
            1. If value is an ASCII case-insensitive match for "until-found", then set the

              If the given value is a string that is an ASCII case-insensitive match for + "until-found", then set the hidden attribute to "until-found".

            2. -
            3. Otherwise, if value is false, then remove the

              Otherwise, if the given value is false, then remove the hidden attribute.

            4. -
            5. Otherwise, if value is the empty string, then remove the

              Otherwise, if the given value is the empty string, then remove the hidden attribute.

            6. -
            7. Otherwise, if value is null, then remove the

              Otherwise, if the given value is null, then remove the hidden attribute.

            8. Otherwise, set the hidden attribute to the empty From 16ceccc1b2c113be7687dec1b7d158afd0d7c211 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 15 Mar 2022 13:48:30 -0700 Subject: [PATCH 60/65] span->code --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index 46b0750534c..5b51d9c0582 100644 --- a/source +++ b/source @@ -78250,8 +78250,8 @@ body { display:none } find-in-page able to search through it. Similarly, all HTML elements with the hidden attribute in the hidden until found state should have their skipped contents become accessible without modifying the hidden attribute in order to make find-in-page able to search through + data-x="skips its contents">skipped contents become accessible without modifying the hidden attribute in order to make find-in-page able to search through them. After find-in-page finishes searching for matches, the details elements and the elements with the hidden attribute in the hidden until found state should have their contents From 383e976e72326589604be4590d44bc56ca1072d4 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 15 Mar 2022 14:21:53 -0700 Subject: [PATCH 61/65] make hidden=until-found not apply to embed --- source | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source b/source index 5b51d9c0582..fd422974b1b 100644 --- a/source +++ b/source @@ -116902,11 +116902,11 @@ noframes, param, rp, script, style, template, title { display: none; } -[hidden=until-found i] { +[hidden=until-found i]:not(embed) { content-visibility: hidden; } -embed[hidden]:not([hidden=until-found i]) { display: inline; height: 0; width: 0; } +embed[hidden] { display: inline; height: 0; width: 0; } input[type=hidden i] { display: none !important; } From 291e33c94c7d874af8b47c9bdf4d6c4e64bfcf83 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 15 Mar 2022 16:27:27 -0700 Subject: [PATCH 62/65] fix normativeness of note --- source | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source b/source index fd422974b1b..442a980ad7c 100644 --- a/source +++ b/source @@ -75075,9 +75075,9 @@ END:VCARD

              1. The element needs to be affected by layout containment in order to be - hidden. This means that the element in the hidden - until found state can't have a 'display' value of 'none', or 'contents' for - example.

              2. + revealed by find-in-page. This means that if the element in the hidden until found state has a 'display' value of + 'none', 'contents', or 'inline', then the element will not be revealed by find-in-page.

              3. The element will still have a generated box when in the hidden until found state, which means From fa64e8c21402ce1f1a1f9d068e4013d844c0874e Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Tue, 15 Mar 2022 16:35:31 -0700 Subject: [PATCH 63/65] add unrestricted number to idl --- source | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source b/source index 442a980ad7c..137e62c584c 100644 --- a/source +++ b/source @@ -10407,7 +10407,7 @@ interface HTMLElement : Element { [CEReactions] attribute DOMString dir; // user interaction - [CEReactions] attribute (boolean or DOMString?) hidden; + [CEReactions] attribute (boolean or unrestricted double or DOMString?) hidden; [CEReactions] attribute boolean inert; undefined click(); [CEReactions] attribute DOMString accessKey; @@ -75189,6 +75189,12 @@ END:VCARD

              4. Otherwise, if the given value is null, then remove the hidden attribute.

              5. +
              6. Otherwise, if the given value is 0, then remove the hidden attribute.

              7. + +
              8. Otherwise, if the given value is NaN, then remove the hidden attribute.

              9. +
              10. Otherwise, set the hidden attribute to the empty string.

              From c9bdf9689d34e9e900aa42b200bf48099aa2f864 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Wed, 16 Mar 2022 15:14:28 -0700 Subject: [PATCH 64/65] span->code --- source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source b/source index 137e62c584c..f4e58e1fa07 100644 --- a/source +++ b/source @@ -75047,7 +75047,7 @@ END:VCARD target which is in the element's subtree, the user agent will remove the hidden attribute in order to reveal the content before scrolling to it. In addition to removing the hidden attribute, an event named - beforematch is also fired on the element before the beforematch is also fired on the element before the hidden attribute is removed.

              Web browsers will use 'content-visibility: hidden' instead of 'display: none' when the Date: Wed, 16 Mar 2022 16:29:32 -0700 Subject: [PATCH 65/65] move question mark outside parenthesis --- source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source b/source index f4e58e1fa07..ff21f8f6b4f 100644 --- a/source +++ b/source @@ -10407,7 +10407,7 @@ interface HTMLElement : Element { [CEReactions] attribute DOMString dir; // user interaction - [CEReactions] attribute (boolean or unrestricted double or DOMString?) hidden; + [CEReactions] attribute (boolean or unrestricted double or DOMString)? hidden; [CEReactions] attribute boolean inert; undefined click(); [CEReactions] attribute DOMString accessKey;