diff --git a/source b/source index 1bbf5e72b22..7e7f1d6d465 100644 --- a/source +++ b/source @@ -72509,28 +72509,6 @@ END:VCARD
-

Each control group owner object can also act as the manager of a dialog group.

- -

Each dialog element that has an open - attribute specified and that is being rendered (i.e. that is a control group - owner object) and is not expressly inert - belongs to the dialog group whose manager is - the dialog element's nearest ancestor control group owner object.

- -

If no dialog element has a particular control group owner object as - its nearest ancestor control group owner object, then that control group owner - object has no dialog group.

- -

Each dialog group can have a dialog designated as the focused - dialog of the dialog group. Which dialog is so designated changes over time, - based on algorithms in this specification.

- -

Elements in dialog groups are ordered in tree - order.

- -
-

One focusable area in each non-empty control group is designated the focused area of the control group. Which control is so designated changes over time, based on algorithms in this specification. If a control group is empty, it has no

  • -

    If candidate has a dialog group with a designated - focused dialog of the dialog group, then let candidate be the - designated focused dialog of the dialog group, and redo this step.

    - -

    Otherwise, if candidate has a non-empty control group, and the +

    If candidate has a non-empty control group, and the designated focused area of the control group is a browsing context container with a non-null nested browsing context, then let candidate be the active document of that browsing context @@ -72606,11 +72580,7 @@ END:VCARD

  • -

    If current object is a dialog object in a dialog group, - let current object be that dialog group's manager, and return to the step labeled loop.

    - -

    Otherwise, if current object is a focusable area, let current +

    If current object is a focusable area, let current object be that focusable area's control group's owner object, and return to the step labeled loop.

    @@ -72894,13 +72864,7 @@ END:VCARD
  • -

    If new focus target is a control group owner object that is - not a focusable area, but does have a dialog group, and that dialog group - has a designated focused dialog, then - let new focus target be the focused dialog of the dialog - group, and redo this step.

    - -

    Otherwise, if new focus target is a control group owner +

    If new focus target is a control group owner object that is not a focusable area, and its control group is not empty, then designate new focus target as the focused area of the control group, and redo this step.

    @@ -72969,12 +72933,7 @@ END:VCARD
  • -

    If old focus target is a dialog in a dialog group, and - the dialog group manager has a non-empty control group, then let - new focus target be the designated focused area of that focus group.

    - -

    Otherwise, if old focus target is a focusable area, then let new +

    If old focus target is a focusable area, then let new focus target be the first focusable area of its control group (if the control group owner object is a Document, this will always be a viewport).

    @@ -73003,13 +72962,7 @@ END:VCARD

    When a focusable area is added to an empty control group, it must be designated the focused area of the control group.

    -

    When a dialog group is formed, if the dialog group manager has an empty - control group, the first non-inert dialog in the dialog - group, if any, or else the first dialog in the dialog group regardless of - inertness, must be designated the focused dialog of the dialog - group.

    - -

    Focus fixup rule one: When the designated focused area of a control group is removed from that control group in some way (e.g. it stops being a focusable area, it is removed from the DOM, it becomes expressly inert, etc), and the control group is still not @@ -73034,60 +72987,6 @@ END:VCARD data-x="dom-document-activeElement">activeElement API as the body element.

    -

    Focus fixup rule two: When a dialog group has no designated focused - dialog of the dialog group, and its dialog group manager's control - group changes from being non-empty to being empty, the first non-inert - dialog in the dialog group, if any, or else the first dialog in - the dialog group regardless of inertness, must be designated - the focused dialog of the dialog group.

    - -

    Focus fixup rule three: When the designated focused dialog of a dialog group is removed from that dialog - group in some way (e.g. it stops being rendered, it loses its open attribute, it becomes expressly inert, etc), - and there is still a dialog group (because the dialog in question was - not the last dialog in that dialog group): if the dialog - group's manager's control group is - non-empty, let there be no designated focused dialog of the dialog group any more; - otherwise (in the case that the control group is empty), designate the first - non-inert dialog in the dialog group to be the - focused dialog of the dialog group, or, if they are all inert, designate - the first dialog in the dialog group to be the focused dialog of - the dialog group regardless of inertness.

    - -

    When the currently focused area of a top-level browsing context was a focusable - area but stops being a focusable area, or when it was a dialog in a - dialog group and stops being part of that dialog group, or when it - starts being inert, the user agent must run the following steps:

    - -
      - -
    1. Let old focus target be whatever the currently focused area of the top-level browsing - context was immediately before this algorithm became applicable (e.g. before the element - was disabled, or the dialog was closed, or whatever caused this algorithm to run).

    2. - -
    3. Let old chain be the focus chain of the currently focused area of the - top-level browsing context at the same time.

    4. - -
    5. Make sure that the changes implied by the focus fixup rules one, two, and three above are applied.

    6. - -
    7. Let new focus target be the currently focused area of a - top-level browsing context.

    8. - -
    9. If old focus target and new focus target are the - same, return.

    10. - -
    11. Let new chain be the focus chain of new - focus target.

    12. - -
    13. Run the focus update steps with old chain, new chain, and new focus target respectively.

    14. - -
    -

    The focus update steps, given an old chain, a new chain, and a new focus target respectively, are as @@ -73162,17 +73061,10 @@ END:VCARD

      -
    1. If entry is a dialog element: let entry be the - designated focused dialog of its dialog - group.

    2. -
    3. If entry is a focusable area: designate entry as the - focused area of the control group. If its control group's owner object is also a dialog group - manager, then let there be no designated focused dialog in that dialog group.

      + focused area of the control group.

      It is possible for entry to be both a dialog element and a focusable area, in which case it is its own control group @@ -73290,11 +73182,7 @@ END:VCARD

    4. -

      If candidate has a dialog group with a designated focused - dialog of the dialog group, then let candidate be the designated - focused dialog of the dialog group, and redo this step.

      - -

      Otherwise, if candidate has a non-empty control group, and the +

      If candidate has a non-empty control group, and the designated focused area of the control group is a browsing context container with a non-null nested browsing context, and the active document of that browsing context container's nested browsing @@ -73435,8 +73323,8 @@ END:VCARD starting point is a browsing context - Let candidate be the first suitable sequentially focusable area in starting point's active document's primary control group, if any; or else null - Let candidate be the last suitable sequentially focusable area in starting point's active document's primary control group, if any; or else null + Let candidate be the first suitable sequentially focusable area in starting point's active document's control group, if any; or else null + Let candidate be the last suitable sequentially focusable area in starting point's active document's control group, if any; or else null selection mechanism is DOM Let candidate be the first suitable sequentially focusable area in the home control group following starting point, if any; or else null @@ -73452,11 +73340,6 @@ END:VCARD anchor is not inert and that is in its control group's sequential focus navigation order.

      -

      The primary control group of a control group owner object X is the control group of X if X has no dialog group or if its dialog group has no - designated focused dialog of the dialog group, otherwise, it is the primary - control group of X's dialog group's designated - focused dialog of the dialog group.

      -

      The home control group is the control group to which starting point belongs.

      The home sequential focus navigation order is the sequential focus @@ -73601,10 +73484,6 @@ END:VCARD

      1. Let candidate be this Document object.

      2. -
      3. While candidate has a dialog group with a designated - focused dialog of the dialog group, set candidate to the - designated focused dialog of the dialog group.

      4. -
      5. If candidate has a non-empty control group, then set candidate to the designated focused area of the control group.