From 2a88493911f499fd8e94dcc4a2e5d22ab8a2b780 Mon Sep 17 00:00:00 2001 From: Domenic Denicola Date: Thu, 25 Feb 2016 20:29:19 -0500 Subject: [PATCH] Fix #744: clarify control groups and control group owner objects This attempts to clarify: - How control groups are created (previously we were just told that focusable areas belong to them) - The relationship between control groups and control group owners It also removes the redundant distinction between "control group owners" and "control group owner objects", settling on the latter since it was more prevalent. --- source | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/source b/source index ff41e74a468..1ae14b1f647 100644 --- a/source +++ b/source @@ -56864,7 +56864,7 @@ dictionary RelatedEventInit : EventInit {
    -
  1. If for some reason subject is not a control group owner +

  2. If for some reason subject is not a control group owner object at this point, or if it is inert, abort these steps.

  3. @@ -71298,10 +71298,9 @@ END:VCARD container essentially acts merely as a placeholder for its nested browsing context's active document.

    -

    Each focusable area belongs to a control group. Each control group has - an owner. Control group - owners are control group owner objects. The - following are control group owner objects:

    +
    + +

    The following create control groups:

      @@ -71313,13 +71312,17 @@ END:VCARD
    -

    Each control group owner object owns one control group (though that - group might be empty).

    +

    The corresponding Document object or dialog element is the created + control group's owner object. (There + is always a 1:1 mapping of control groups to control group owner objects.)

    -

    If the DOM anchor of a focusable area is a control group owner - object, then that focusable area belongs to that control group owner - object's control group. Otherwise, the focusable area belongs to its - DOM anchor's nearest ancestor control group owner object.

    +

    Each focusable area belongs to a single control group as follows. If + the DOM anchor of a focusable area is a control group + owner object, then that focusable area belongs to that control group + owner object's control group. Otherwise, the focusable area + belongs to its DOM anchor's nearest ancestor control group owner + object's control group.

    @@ -71333,6 +71336,9 @@ END:VCARD
    +

    It is possible for a control group to be empty, i.e. for it to have + no focusable areas.

    +

    An element is expressly inert if it is inert but it is not a control group owner object and its nearest ancestor control group owner object is not inert.

    @@ -71443,7 +71449,8 @@ END:VCARD

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

    + data-x="control group owner object">owner object, and return to the step labeled + loop.

    Otherwise, if current object is a Document in a nested browsing context, let current object be its browsing context container, @@ -71815,8 +71822,8 @@ END:VCARD

    Otherwise, 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 is a Document, this will always be a - viewport).

    + (if the control group owner object is a Document, this will always be + a viewport).

    Otherwise, let new focus target be null.

    @@ -71999,14 +72006,15 @@ END:VCARD
  4. -

    If entry is a focusable area: Designate entry as the focused area of the control group. If its control - group's owner is also a dialog group +

    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.

    It is possible for entry to be both a dialog element and a focusable area, in which case it is its own control group - owner.

    + owner object.