diff --git a/source b/source index e8c4389d51c..1243870d0fe 100644 --- a/source +++ b/source @@ -80214,10 +80214,10 @@ dictionary ToggleEventInit : EventInit {
Each Document
has a sequential focus navigation order, which orders some
- or all of the focusable areas in the Document
- relative to each other. Its contents and ordering are given by the flattened
- tabindex-ordered focus navigation scope of the Document
.
Each Document
has a sequential focus navigation order, which orders
+ some or all of the focusable areas in the
+ Document
relative to each other. Its contents and ordering are given by the
+ flattened tabindex-ordered focus navigation scope of the Document
.
Per the rules defining the flattened tabindex-ordered focus navigation scope, the ordering is not necessarily related to the tree order of the @@ -80237,10 +80237,21 @@ dictionary ToggleEventInit : EventInit { point to the target element when navigating to a fragment.
+A sequential focus direction is one of two possible values: "forward
", or "backward
". They are used in the below algorithms
+ to describe the direction in which sequential focus travels at the user's request.
A selection mechanism is one of two possible values: "DOM
", or
+ "sequential
". They are used to
+ describe how the sequential navigation search algorithm finds the focusable
+ area it returns.
When the user requests that focus move from the currently focused area of a top-level - traversable to the next or previous focusable area (e.g. as the default + traversable to the next or previous focusable area (e.g., as the default action of pressing the tab key), or when the user requests that focus - sequentially move to a top-level traversable in the first place (e.g. from the + sequentially move to a top-level traversable in the first place (e.g., from the browser's location bar), the user agent must use the following algorithm:
Let direction be forward if the user requested the next - control, and backward if the user requested the previous control.
+Let direction be "forward
" if the
+ user requested the next control, and "backward
" if the user requested the previous
+ control.
Typically, pressing tab requests the next control, and pressing - shift + tab requests the previous control.
+Typically, pressing tab requests the next control, and + pressing shift + tab requests the previous control.
Loop: Let selection mechanism be sequential if the starting
- point is a navigable or if starting point is in its
- Document
's sequential focus navigation order.
Loop: Let selection mechanism be "sequential
" if starting point is a
+ navigable or if starting point is in its Document
's
+ sequential focus navigation order.
Otherwise, starting point is not in its Document
's
- sequential focus navigation order; let selection mechanism be
- DOM.
Otherwise, starting point is not in its Document
's sequential
+ focus navigation order; let selection mechanism be "DOM
".
Let candidate be the result of running the sequential navigation search algorithm with starting point, direction, and selection - mechanism as the arguments.
If candidate is not null, then run the focusing steps for candidate and return.
The sequential navigation search algorithm consists of the following steps. This - algorithm takes three arguments: starting point, direction, - and selection mechanism.
+The sequential navigation search algorithm, given a focusable area + starting point, sequential focus direction direction, and + selection mechanism selection mechanism, consists of the following steps. + They return a focusable area-or-null.
Pick the appropriate cell from the following table, and follow the instructions in that cell.
-The appropriate cell is the one that is from the column whose header describes direction and from the first row whose header describes starting point and selection mechanism.
+The appropriate cell is the one that is from the column whose header describes + direction and from the first row whose header describes starting point and + selection mechanism.
- | direction is forward - | direction is backward + | direction is "forward "
+ | direction is "backward "
|
---|---|---|---|---|
starting point is a navigable @@ -80338,45 +80355,54 @@ dictionary ToggleEventInit : EventInit { in starting point's active document, if any; or else null | ||||
selection mechanism is DOM + | selection mechanism is "DOM "
+ |
+ Let candidate be the suitable sequentially focusable area, that
+ appears nearest after starting point in starting point's
+ In this case, starting point does not necessarily belong to its
+ |
+ Let candidate be the suitable sequentially focusable area, that
+ appears nearest before starting point in starting point's
+ Document , in shadow-including tree order, if any; or else null
+ | |
selection mechanism is "sequential "
| Let candidate be the first suitable sequentially focusable area
- in the home document following starting point, if any; or else null
+ after starting point, in starting point's Document 's
+ sequential focus navigation order, if any; or else null
| Let candidate be the last suitable sequentially focusable area - in the home document preceding starting point, if any; or else null - | ||
selection mechanism is sequential - | Let candidate be the first suitable sequentially focusable area in the home sequential focus navigation order following starting point, if any; or else null - | Let candidate be the last suitable sequentially focusable area in the home sequential focus navigation order preceding starting point, if any; or else null
-
+ before starting point, in starting point's Document 's
+ sequential focus navigation order, if any; or else null
|
A suitable sequentially focusable area is a focusable area whose DOM anchor is not inert and is sequentially focusable.
- -The home document is the Document
to which starting point
- belongs.
The home sequential focus navigation order is the sequential focus - navigation order to which starting point belongs.
- -The home sequential focus navigation order is the home - document's sequential focus navigation order, but is only used when the - starting point is in that sequential focus navigation order - (when it's not, selection mechanism will be DOM).
If candidate is a navigable container with a non-null content - navigable, then let new candidate be the result of running the - sequential navigation search algorithm with candidate's content - navigable as the first argument, direction as the second, and - sequential as the third.
- -If new candidate is null, then let starting point - be candidate, and return to the top of this algorithm. Otherwise, let - candidate be new candidate.
+ navigable, then: + +Let recursive candidate be the result of running the sequential
+ navigation search algorithm with candidate's content navigable,
+ direction, and "sequential
".
If recursive candidate is null, then return the result of running the + sequential navigation search algorithm with candidate, + direction, and selection mechanism.
Otherwise, set candidate to recursive candidate.
Return candidate.