Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expand <details> for find-in-page and element fragments #6466

Merged
merged 18 commits into from
Aug 6, 2021
Merged
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions source
Original file line number Diff line number Diff line change
Expand Up @@ -56988,6 +56988,27 @@ interface <dfn>HTMLDetailsElement</dfn> : <span>HTMLElement</span> {
&lt;p>Direction: North&lt;/p>
&lt;/details></code></pre>

<p>The <dfn>ancestor details revealing algorithm</dfn> is to run the following steps on
domenic marked this conversation as resolved.
Show resolved Hide resolved
currentNode:</p>
domenic marked this conversation as resolved.
Show resolved Hide resolved

<ol>
<li><p>While <var>currentNode</var> has a parent node, perform the following steps:</p></li>
josepharhar marked this conversation as resolved.
Show resolved Hide resolved
domenic marked this conversation as resolved.
Show resolved Hide resolved

<li><p>If <var>currentNode</var> is slotted into the second slot of a <code>details</code>
element:</p>
domenic marked this conversation as resolved.
Show resolved Hide resolved

<ol>
<li><p>let <var>currentNode</var> be the <code>details</code> element which
domenic marked this conversation as resolved.
Show resolved Hide resolved
<var>currentNode</var> is slotted into.</p></li>

<li><p>Add the <code data-x="attr-details-open">open</code> attribute to
domenic marked this conversation as resolved.
Show resolved Hide resolved
<var>currentNode</var>.</p></li>
</ol>

<li><p>Otherwise, let <var>currentNode</var> be the parent node of
domenic marked this conversation as resolved.
Show resolved Hide resolved
domenic marked this conversation as resolved.
Show resolved Hide resolved
<var>currentNode</var>.</p></li>.
</ol>

</div>


Expand Down Expand Up @@ -75340,6 +75361,25 @@ body { display:none }
can navigate through the <span data-x="fip-matches">matches</span> by advancing the <span
data-x="fip-active-match">active match</span> using the <span>find-in-page interface</span>.</p>
domenic marked this conversation as resolved.
Show resolved Hide resolved

<p>When find-in-page begins searching for matches, all <code>details</code> elements in the page
which are not <code data-x="attr-details-open">open</code> should have their second slot be added
to the rendering without modifying the <code data-x="attr-details-open">open</code> attribute.
After find-in-page finishes searching for matches, those details elements should have their second
domenic marked this conversation as resolved.
Show resolved Hide resolved
slot be removed from the rendering again. This entire process must happen synchronously (and so is
not observable to users or to author code).</p>
domenic marked this conversation as resolved.
Show resolved Hide resolved

<p>When find-in-page chooses a new <span data-x="fip-active-match">active match</span>, perform
the following steps:</p>
domenic marked this conversation as resolved.
Show resolved Hide resolved

<ol>
<li><p>Let <var>node</var> be the first node in the <span data-x="fip-active-match">active
match</span>.</p></li>

<li><p><span>Queue a global task</span> on the <span>user interaction task source</span> given
<var>node</var>'s <span>relevant global object</span> to run the <span>ancestor details
revealing algorithm</span> on <var>node</var>.</p></li>
</ol>

<p class="XXX"><a href="https://github.com/whatwg/html/issues/3539">Issue #3539</a> tracks
standardizing how <span>find-in-page</span> underlies the currently-unspecified <code
data-x="">window.find()</code> API.</p>
Expand Down Expand Up @@ -86015,6 +86055,8 @@ new PaymentRequest(&hellip;); // Allowed to use
<li><p>Set the <code>Document</code>'s <span>target element</span> to
<var>target</var>.</p></li>

<li><p>Run the <span>ancestor details revealing algorithm</span> on <var>target</var>.</p></li>

<li><p><span data-x="scroll an element into view">Scroll <var>target</var> into view</span>,
with <var>behavior</var> set to "auto", <var>block</var> set to "start", and <var>inline</var>
set to "nearest". <ref spec=CSSOMVIEW></p></li>
Expand Down