NEW 202212
AX: ARIA spelling and grammar errors should be reported by VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=202212
Summary AX: ARIA spelling and grammar errors should be reported by VoiceOver
Aaron Leventhal
Reported 2019-09-25 11:01:55 PDT
Created attachment 379560 [details] Test file Steps: 1. Load attached minimal test file with VoiceOver in Safari 2. Navigate each contenteditable by word Expected: In the first line, "checker" should be reported as incorrectly spelled. In the second line, "mine" should be reported as a grammar error. Importance: the use case here is for apps such as Google Docs, Gmail, etc. that use spellcheck="false" and report their own spelling and grammar errors. Tech notes: using UIElementInspector, it appears that AXInvalid is not being exposed on the <span> elements. However, AXInvalid does seem to be exposed on form control elements. Note that aria-invalid is a global ARIA attribute that can apply to any element. The "spelling" and "grammar" values are especially useful for rich text editing scenarios like this.
Attachments
Test file (754 bytes, text/html)
2019-09-25 11:01 PDT, Aaron Leventhal
no flags
Radar WebKit Bug Importer
Comment 1 2019-09-25 11:02:07 PDT
Aaron Leventhal
Comment 2 2019-09-25 11:09:25 PDT
Aside: I work on the Chrome team and want to implement this correctly. It's not clear that AXInvalid is the correct approach, because there is NSAccessibilityMarkedMisspelledTextAttribute. There is no known grammar equivalent, e.g. NSAccessibilityMarkedGrammarErrorTextAttribute Also, in order for aria-invalid="spelling" to be useful, we also need a fix for https://bugs.webkit.org/show_bug.cgi?id=202213
James Craig
Comment 3 2023-06-01 19:56:32 PDT
aria-invalid was deprecated on span (generic role) in ARIA 1.2, but I think the test case would be valid if role="group" or similar were added.
Aaron Leventhal
Comment 4 2023-06-02 09:15:21 PDT
Hmm I would hav objected if I had noticed that, because this is how a lot of products indicate spelling and grammar errors today. Why did we do that for the grammar/spelling case? Maybe aria-invalid=spelling|grammar should have a minimum role of "mark"?
Note You need to log in before you can comment on or make changes to this bug.