-
Notifications
You must be signed in to change notification settings - Fork 120
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
Clarification about accessibility children definition (2nd exclusion point) #2021
Comments
Ah interesting @giacomo-petri -- we did at one point consider having an algorithm (to be honest I was for it and others were against it, originally..). However, it took a lot of work of the working group to agree with the definition as is, so I don't think it would be possible to do a whole re-write now. But lets see if we can make some smaller change to help with your point of confusion. For the line you quoted: I see how the language is not quite specific enough. What we meant was excluding all DOM elements that have been reparented AWAY from the element for which you are trying to find all the "accessibility children". So you are right that it does not apply to the second Unfortunately, I'm struggling how to make this more clear in this bullet point without it getting overwhelmingly wordy. Do you have a suggestion for writing that one particular bullet to make it more clear? Maybe it would be clear enough to update this example so that the last div is a |
This will help a lot!
I want to avoid causing more harm than good, but it might also be worth considering a replacement for:
with
Including "by an element that is not the accessibility parent" should provide consistency with the updated example above by excluding the element responsible for reparenting the specific DOM element. Does it make sense? I'm happy to open a PR if we decide to move forward with it. |
Ok great! If you want to open a PR to update that example, that would be great. As for the text:
Personally I do find "to an element that is not the accessibility parent" a bit unclear... because we haven't used "accessibility parent" in the definition above. And the new element is an accessibility parent. I was originally thinking of adding "on a different element" but that is also no clear, as we use "element" so many times in the definition above. This is an example of a solution which I think is too wordy and would potentially make it hard to understand:
But ideally, when reading the spec with fresh eyes, I don't think it makes sense to exclude literally everything in the "exclusion" section that you previously included in the second two bullets of the "inclusion" section, which was your original confusion, I think... So maybe it will be clear enough by the example alone? |
I apologise for not being clear enough. In the context of the provided statement:
the intent was to link the term "accessibility parent" to its definition (https://w3c.github.io/aria/#dfn-accessibility-parent). So looking at the example
in the first list, the second list item is reparented by an element that is not the accessibility parent, thereby making it an exclusion for the first DOM list element. In contrast, in the second list, the reparented list item has indeed been reparented by its accessibility parent, indicating that it is not considered an exclusion. However, I acknowledge that while writing the above, there are too much complexities in the interpretation of "by an element that is not the accessibility parent." Therefore, I am fully supportive of making improvements solely to the example (creating PR). |
Concern description:
In the process of reviewing the definition of "accessibility children," I undertook a comparison with the definition of "accessibility parent". While the outlined points are consistent for both concepts, there are disparities in the exclusions.
The second exclusion for "accessibility children" is somewhat intricate to me. We define "accessibility children" as:
However, we then proceed to exclude:
This exclusion seems partially in contrast with points #3 and #4 of the definition above. Consider the following example:
According to the current definition, and please correct me if I'm mistaken, we seem to assert that the reparented list item, which, in reality, is an accessibility child of the second list with aria-owns="reparented," is an exclusion and not considered an "accessibility child" of it.
In my view, a potential resolution could involve rewording the definition to provide a sequenced set of steps to determine what qualifies as an accessibility child. This would ensure that the aria-owns relationship takes precedence over the DOM structure. For instance:
Link to documentation:
https://w3c.github.io/aria/#dfn-accessibility-child
The text was updated successfully, but these errors were encountered: