From 5d515faf863d32fd520d6cdbb6c5d6fc90078fdd Mon Sep 17 00:00:00 2001 From: Rakina Zata Amni Date: Fri, 15 Oct 2021 00:56:51 +0900 Subject: [PATCH] Add notes for focus, etc. and non-fully active documents Fixes #5878. Clarifies that the focused element stays the same and is not reset when a document's fully active state is changed, and no events (focus/blur) are fired. Also clarifies that fully active does not impact "being rendered" or viewport intersection. --- source | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/source b/source index 08abdc4bdbe..0faf32e4911 100644 --- a/source +++ b/source @@ -74554,6 +74554,10 @@ END:VCARD area of the document. Which control is so designated changes over time, based on algorithms in this specification.

+

Even if a document is not fully active and not shown to the user, it + can still have a focused area of the document. If a document's fully + active state changes, its focused area of the document will stay the same.

+

The currently focused area of a top-level browsing context topLevelBC at any particular time is the focusable area-or-null returned by this algorithm:

@@ -115847,9 +115851,19 @@ console.assert(container.firstChild instanceof SuperP); means the element is not being rendered, though this might be overridden by the style sheets.

+

The fully active state does not affect whether an element is + being rendered or not. Even if a document is not fully active and not + shown at all to the user, elements within it can still qualify as "being rendered".

+

An element is said to intersect the viewport when it is being rendered and its associated CSS layout box intersects the viewport.

+

Similar to the being rendered state, elements in non-fully + active documents can still intersect the viewport. The viewport + is not shared between documents and might not always be shown to the user, so an element in a + non-fully active document can still intersect the viewport associated + with its document.

+

This specification does not define the precise timing for when the intersection is tested, but it is suggested that the timing match that of the Intersection Observer API.