Consider using the ROLE_SYSTEM_LISTITEM on the `term` role in MSAA + IAccessible2
chrishtr opened this issue · 9 comments
Currently an element is with the term
role is specified as having IA2_ROLE_TEXT_FRAME
mapping on Windows MSAA + IAccessible2. @aleventhal suggested that ROLE_SYSTEM_LISTITEM
might be better.
@jcsteh @scottaohara WDYT?
I think I'd be okay with this if a term was always inside a list, but the problem is that this is not always the case and is not required by ARIA. Nothing in ARIA even requires that the term is somehow separated from other text, so it could just be in the middle of a paragraph, where a list-item-ish element really doesn't make much sense.
@jcsteh Good point. Does IA2_ROLE_TEXT_FRAME make sense?
yeah, a term
is not necessarily a list item. It was previously inconsistently used to map the dt
element, but ARIA 1.2 clarified that a term is not related to the dt
element, but rather the dfn
element.
It was previously inconsistently used to map the
dt
element, but ARIA 1.2 clarified that a term is not related to thedt
element, but rather thedfn
element.
The HTML-AAM 1.0 spec says <dt>
maps to term. Is there a newer specification that says something else? I looked in the ARIA 1.2 spec as well but couldn't find the <dt>
change you are referring to.
It might be a stretch to say that IA2_ROLE_TEXT_FRAME "makes sense", but I don't think there's a better role and I don't think this warrants adding a new one, so I think that's the best compromise.
@chrishtr the HTML AAM mappings aren't accurate, and i haven't been able to 'fix' them, because the work to do so keeps getting punted - w3c/html-aam#347
If you look at ARIA 1.1 you'll see that term
had a related concept of HTML's DT element
definition
in ARIA 1.1 also listed dd
and dfn
as its related concepts.
This wasn't correct though. Because in HTML a dfn
element does not represent a definition - it represents the term that is being defined by its surrounding content.
The dfn element represents the defining instance of a term
So if you are looking at ARIA 1.2, that's the change i'm referring to. The related concepts to HTML were corrected. definition
has no direct element to point to in HTML as a related concept. And term
now correctly points to dfn
and dt
was dropped since dl
elements were handled inconsistently and while associationlist work stalled out/dropped, maybe this confusion is a good reason to get implementors to suggest how to fix them.
Discussed in the ARIA WG meeting April 4, 2024.
Lacking consensus on this issue. We're looking for a volunteer to write a PR to get the discussion moving again.
In the absence of consensus for a different MSAA/IA2 role, I'd suggest this just be left as is and this issue be closed. IA2_ROLE_TEXT_FRAME isn't "great", but ROLE_SYSTEM_LISTITEM is worse as per #223 (comment). @aleventhal, can you live with this? Otherwise, the only path forward I see is to introduce a new IA2 role, and I don't think the juice is worth the squeeze unless someone is clamoring for it.