w3c/core-aam

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 the dt element, but rather the dfn 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.