w3c / aria

Accessible Rich Internet Applications (WAI-ARIA)
https://w3c.github.io/aria/
Other
647 stars 125 forks source link

Reconsider whether ARIA should ship new features that have incomplete API mappings and missing AT support. #2361

Open cookiecrook opened 1 day ago

cookiecrook commented 1 day ago

Reconsider whether ARIA should ship new features that have incomplete API mappings and missing AT support.

This problem came to my attention due to some Interop 2024 failures in the aria-attribute-reflection test for aria-colindextext and aria-rowindextext, which are new attributes in ARIA 1.3.

WebKit engineers chose not to implement these two because there is no API mapping for it on Mac, and no near-term expectation for AT support. As such, the other browsers on Mac are reflecting the DOM properties, but do nothing with them other than pass the WPT test. Because that's a misleading test result, and they were added mid-year (after the Interop 2024 tests were agreed upon) I have an open WPT PR to remove those tests from Interop by marking them as tentative.

It's also not clear from the Core-AAM listings whether there is Windows AT or Linux AT support for those attrs, or whether the other API mappings are speculative, hopeful JAWS/NVDA/Orca screen readers may someday support them. — If so, I have concern with the speculative specification approach overall. — I'll file a separate issue for Core-AAM to do a better job of indicating whether there is known downstream AT support. That's a larger feature request for the spec that we should discuss as a group.

As a related datapoint, Apple has proposed several ARIA features that have support in Apple AT, that the group has been reluctant to ship since non Apple ATs are missing similar features. The following are a few examples of those ARIA proposals that have not shipped in part because JAWS/NVDA/Orca/TalkBack has no similar feature support yet (or didn't at the time?):

The group should discuss whether the same should apply to these new features.... Especially if it turns out there is no Windows/Linux/Android AT support and these are just speculative API mappings without end-to-end user support.

I would propose that, potentially as a prerequisite to shipping new ARIA features and AAM mappings, the AAMs list known AT support as a requirement. Ideally AT support on two platforms, similar to the "two implementations" requirement for general web features.

spectranaut commented 1 day ago

@joanmarie does Orca support these attributes, aria-colindextext and aria-rowindextext?

joanmarie commented 1 day ago

@joanmarie does Orca support these attributes, aria-colindextext and aria-rowindextext?

Yup, it has for quite some time. It also does a fallback check for aria-coltext and aria-rowtext because (last time I checked) Google Sheets still exposes that instead of the (imho) more-clearly-named versions in the spec.

As a related aside, LibreOffice Calc followed the ARIA lead and exposes the row and column labels/indices via IA2 and ATK using the colindextext and rowindextext object attributes (this is how the ARIA properties are expected to be exposed when used in web content).

stes-acc commented 1 day ago

The practical thing about rowindextext is that you can use it to declare lead object names for a row.

This is of great use if users do vertical navigation in grids where rows represent object attributes. Instead of giving just the row number it can be a specific object name (of a product, of a person etc.). Plus, there is no need to define a specific row header for that row to achieve the same effect. It adds just ease of orientation in a data set without having read the entire row content at will (special Jaws/NVDA keys for that are available but they will always read more: parts of row or entire row depending on focus position in row).

spectranaut commented 1 day ago

This was discussed briefly in triage: https://www.w3.org/2024/10/24-aria-minutes.html#7fe9

@aleventhal mentioned there is support in NVDA and JAWS.

cookiecrook commented 2 hours ago

Okay. I'll see if we can get mappings agreed upon for 1.3 even the implementation work doesn't happen in time for 1.3... Probably a new issue. [#2362]

However, this issue should be still be discussed among the editors... I don't think a Rec-track doc should get close to CR with "TBD" listed anywhere.