Follow-on from bug 220626. AT-synthesized key events for common user actions (increment/decrement) are detectably different in many ways, potentially causing both web app breakage and AT identification https://github.com/WICG/aom/blob/gh-pages/explainer.md#deprecated-keyboardevent-object-properties-optional The synthetic events 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... keyIdentifier also uses a different case between the AT and non-AT path: "up" vs "Up" 2. Any difference in the Event object might be used nefariously to differentiate an AT user from a keyboard user. For example: event.code, event.keyLocation and event.metaKey are also different between the AT and non-AT paths, but should not be. There may be more.
<rdar://problem/73263977>
Created attachment 417921 [details] patch
Created attachment 417987 [details] patch
Created attachment 418049 [details] patch
Comment on attachment 418049 [details] patch lgtm. thanks.
Created attachment 418063 [details] patch
Committed r271760: <https://trac.webkit.org/changeset/271760> All reviewed patches have been landed. Closing bug and clearing flags on attachment 418063 [details].