-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
I am confused about control groups and control group owners #744
Comments
It sounds like it means they're 1:1, yes. |
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.
I'm also confused about "control group", too. You are not alone. My primary source of confusion is that what a "control group" is for is not clearly defined. I'd expect that "control group" would be used for scoping tabindex, but in 6.4.3 The tabindex attribute, "control group" isn't used at all. Then in 6.4.5,
So comparison of two tabindices make sense only when the two elements are in the same control group, but is not mentioned at all. It's also hard for me to follow how the sequential focus navigation "hops" from one control group to another. At the bottom of sequential focus navigation,
is probably the statement when a "hop" happens, but it doesn't use "control group" at all. I thought the "control group" was introduced to explain Maybe it was introduced for multiple frames in a document first, and later adapted for |
@TakayoshiKochi I tried to clarify the situation in #747; would appreciate your review there. It seems like control groups are mainly used to distinguish things like multiple frames ("Document object that have browsing contexts") and also to make dialogs somehow top-level ("dialog elements that have an open attribute specified and that are being rendered"). I think the dialog part is about making sure that when you tab through an open, being-rendered dialog, when you hit the bottom of the dialog, you go back to the top.
Upon actually going to do this, it seems like it is kind of redundant. It is hard to add such a note without just redefining what sequential focus navigation means. So it is better for people to just follow the link.
I think the passage you found is about the scenario
Hmm, you are right. (http://jsbin.com/vekazimoje/edit?html,output to confirm.) I think the spec is intending that, even for non-modal dialogs, when the dialog is open you should only tab through the dialog's controls. The difference between non-modal and modal dialogs is that modal dialogs make everything else inert, so even if you explicitly focus another control outside the dialog (e.g. by clicking it with the mouse) nothing should happen with modal dialogs. Do you think that is something Chrome is interested in implementing? Or should we get rid of that in the spec? It seems like a pretty reasonable design. But maybe it is better to use |
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.
Thanks for the clarification! I was confused that "browsing context" and "control group owner object" could be the same. Then the change in #744 looks good. For |
Yep!
Cool, glad you think so :). Filed https://bugs.chromium.org/p/chromium/issues/detail?id=590745 |
The spec currently says:
And tells us basically that Documents and dialogs are control group owners. It then says:
I am not sure if the intent of this statement is that control groups are 1:1 with control group owners. If it is, then this needs to be clarified. I would like to work on a PR for that.
If they are not 1:1, then I am really lost, and could use an example.
@TakayoshiKochi, @Hixie, can you help me understand this?
The text was updated successfully, but these errors were encountered: