Summary: | AX: increment/decrement synthetic arrow events don't work in ARIA slider examples | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | James Craig <jcraig> | ||||
Component: | Accessibility | Assignee: | chris fleizach <cfleizach> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | aboxhall, apinheiro, cfleizach, dmazzoni, ews-watchlist, jdiggs, samuel_white, webkit-bug-importer, zalan | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Attachments: |
|
Description
James Craig
2021-01-14 11:45:47 PST
WebKit increment/decrement is sending event.key but not the legacy event.keyCode. The AX synthesized key events should be identical to the standard key events. FYI this table is listed as optional, but is not really optional for the AX work until WebKit unships those event properties from the non-AX events: https://github.com/WICG/aom/blob/gh-pages/explainer.md#deprecated-keyboardevent-object-properties-optional Created attachment 417720 [details]
patch
The patch should include all the other key event properties listed in that table for two reasons. 1. Someone else is going to write an example that works with the keyboard but doesn't work with VO because it uses another one of the legacy properties. `event.which` for example. It's 0 with this patch, but should be 40 for ArrowDown... 2. Any difference in the event object could be used to differentiate an AT user from a keyboard used. For example: event.code, event.keyLocation and event.metaKey are also different between the AT and non-AT paths using this patch, but should not be. (In reply to James Craig from comment #5) > The patch should include all the other key event properties listed in that > table for two reasons. > > 1. Someone else is going to write an example that works with the keyboard > but doesn't work with VO because it uses another one of the legacy > properties. `event.which` for example. It's 0 with this patch, but should be > 40 for ArrowDown... > > 2. Any difference in the event object could be used to differentiate an AT > user from a keyboard used. For example: event.code, event.keyLocation and > event.metaKey are also different between the AT and non-AT paths using this > patch, but should not be. Can you give us a new bug for these tasks. I'll do a deeper dive on other needed properties OK At a minimum, you may want to consider event.which in this patch... And event.keyIdentifier is using a different case, too: up vs Up. (In reply to James Craig from comment #8) > At a minimum, you may want to consider event.which in this patch... And > event.keyIdentifier is using a different case, too: up vs Up. better to handle all these things together in a specific patch Committed r271536: <https://trac.webkit.org/changeset/271536> All reviewed patches have been landed. Closing bug and clearing flags on attachment 417720 [details]. |