RESOLVED FIXED 220626
AX: increment/decrement synthetic arrow events don't work in ARIA slider examples
https://bugs.webkit.org/show_bug.cgi?id=220626
Summary AX: increment/decrement synthetic arrow events don't work in ARIA slider exam...
James Craig
Reported 2021-01-14 11:45:47 PST
Synthetic arrow key events seem to have shipped in bug 213744, but they aren't working on the ARIA slider examples in https://www.w3.org/TR/wai-aria-practices/examples/slider/slider-1.html.
Attachments
patch (5.49 KB, patch)
2021-01-15 12:37 PST, chris fleizach
no flags
James Craig
Comment 1 2021-01-14 19:09:35 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.
Radar WebKit Bug Importer
Comment 2 2021-01-14 19:09:43 PST
James Craig
Comment 3 2021-01-14 19:14:48 PST
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
chris fleizach
Comment 4 2021-01-15 12:37:33 PST
James Craig
Comment 5 2021-01-15 14:24:27 PST
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.
chris fleizach
Comment 6 2021-01-15 14:31:11 PST
(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
James Craig
Comment 7 2021-01-15 14:35:26 PST
OK
James Craig
Comment 8 2021-01-15 14:36:57 PST
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.
chris fleizach
Comment 9 2021-01-15 14:38:42 PST
(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
James Craig
Comment 10 2021-01-15 14:43:13 PST
EWS
Comment 11 2021-01-15 14:54:11 PST
Committed r271536: <https://trac.webkit.org/changeset/271536> All reviewed patches have been landed. Closing bug and clearing flags on attachment 417720 [details].
Note You need to log in before you can comment on or make changes to this bug.