-
Notifications
You must be signed in to change notification settings - Fork 9
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
Mappings for form are very confusing, containing infinite logic loop #159
Comments
I think the "Use the native host language role of the element instead." of the nameless form table in core aam is probably the part we do not want/need. Where this ended up, so long after Carolyn had originally made that PR, was to allow a form to still expose a form role if AT felt necessary, but not expose it as a landmark if it was not named. In HTML AAM, form without a name was originally mapping to That HTML AAM issue was being tracked against #100 which is still open, and was logged after the merged #97 that is being referenced in the chromium bug. So seems there are a number of things that were going on here? |
So, we should use ATK_ROLE_FORM only if there is NOT a name, otherwise use ATK_ROLE_LANDMARK. Correct? Nit: the CORE-AAM table refers to ROLE_FORM when it should say ATK_ROLE_FORM. |
For IA2 nameless forms, what does it mean, "Do not expose the element as a landmark." -- how were we exposing it as a landmark other than via IA2_ROLE_FORM? And it seems strange that IA2 still exposes it with a form role when there's a name, but ATK does not. |
| Nit: the CORE-AAM table refers to ROLE_FORM when it should say ATK_ROLE_FORM. I read @carmacleod's comments in this issue: #100 Also it seems to me like we should update CORE-AAM, not HTML-AAM, to: Form with name (the same except IA2):
Form without name should be updated to:
If we do this, then we can remove the extra note for ATK from HTML-AAM (https://w3c.github.io/html-aam/#el-form ) because it would be redundant. And then HTML-AAM would point to CORE-AAM, and all the information you need about form mapping (native elements or role forms) would be in once place. |
I guess I don't understand why we should change IA2_ROLE_FORM to IA2_ROLE_LANDMARK when there is a name. Same with the other APIs, TBH. |
All the other landmarks in CORE-AAM have IA2_ROLE_LANDMARK so I presume they decipher which landmark by the xml-roles. The change I proposed would make the form landmark consistent with all the other landmarks. I'm not sure if microsoft ATs treat named forms with the role IA2_ROLE_FORM as landmarks. Here is a test case |
I'll bring this up with various AT devs and ask what they want. |
BTW, the Microsoft ATs don't use IA2 at all, they use UIA. |
simply linking the issues about this topic w3c/aria#1764 |
We're hitting the same challenge as we try to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1778795. It's actually even worse than is described above though:
We don't really need that for IA2, but I think that idea came from ATK, where it's much easier to find landmarks by querying for ATK_ROLE_LANDMARK than it is to have a complex query which also checks for named forms.
I think it relates to CC @nmlapre. |
Looking at:
When an element with role=form is nameless, core-aam says "Do not expose the element as a landmark. Use the native host language role of the element instead.". This means to use html-aam.
In html-aam, some of the mappings say, "Use WAI-ARIA mapping", which sends us right back to the same place in CORE-AAM, causing a loop. Other mappings are explicity wrt a form with an empty name.
The whole thing is very confusing and difficult to follow.
We're trying to fix https://bugs.chromium.org/p/chromium/issues/detail?id=1343081, but I'm not sure what is required.
@spectranaut @scottaohara
The text was updated successfully, but these errors were encountered: