Bug 138966 - AX: External Keyboard Arrow Key event 'unidentified'
Summary: AX: External Keyboard Arrow Key event 'unidentified'
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: 528+ (Nightly build)
Hardware: iPhone / iPad All
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2014-11-21 07:58 PST by shiningbai
Modified: 2016-02-15 13:59 PST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description shiningbai 2014-11-21 07:58:48 PST
On iOS8, and 7, chrome and safari, when using bluetooth keyboard(Belkin), the browser is not capture keyDown and keyPress event at all. When listening to keyUp event, on Arrow Keys, the event object is almost empty. The event.charCode and event.keyCode is 0, and event.keyIdentifier is 'unidentified'. So there is like no way to detect which arrow key is pressed.
Comment 1 Radar WebKit Bug Importer 2014-11-21 07:58:57 PST
<rdar://problem/19057835>
Comment 2 Dylan Barrell 2015-05-14 08:47:15 PDT
Here is a site to reproduce this

Using iOS with a bluetooth keyboard, go to this page http://dylanb.github.io/rwd/part6/event_logger.html

Select only the checkbox "div[role="menuitem"]"

Move the VoiceOver focus to the Element with the text "I am a div with role="menuitem""

Make sure that quick nav is off

Click the arrow keys on the bluetooth keyboard

What Should Happen: The count next to the "keydown" header in the table on the right should be incremented every time you click an arrow key

What Happens: The count stays at whatever it was when focus first went to the element.

If you do the same with VO on Safari, you will see the correct behavior.
Comment 3 Vince 2016-02-15 13:59:32 PST
As per my comment on https://bugs.webkit.org/show_bug.cgi?id=149054:

I can confirm that this is still an issue on an iPad Mini FE276LL/A running iOS 9.2 (13C75), with a previous generation bluetooth Apple Wireless Keyboard, typing into iOS Safari.

More specifically, if NO control has focus, no keydown and no keyup events fire at all.

However, if a control DOES has focus, keydown and keyup events do fire, but the keyIdentifier is "Unidentified", and keyCode is 0 (the target is correct, however).

This makes it impossible to develop a web app that responds correctly to navigation using a bluetooth keyboard on iOS.