Bug 155613

Summary: AX: Typing broken on form input field while using VoiceOver
Product: WebKit Reporter: Nan Wang <n_wang>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, cfleizach, commit-queue, dmazzoni, jcraig, jdiggs, mario, n_wang, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Attachments:
Description Flags
patch
none
patch
none
patch cfleizach: review+, commit-queue: commit-queue-

Nan Wang
Reported 2016-03-17 17:22:59 PDT
When navigating to the form elements with VO + the arrow keys and then stopping at a input field, the cursor jumps and there's no way to type.
Attachments
patch (2.16 KB, patch)
2016-03-17 17:47 PDT, Nan Wang
no flags
patch (5.32 KB, patch)
2016-03-17 22:00 PDT, Nan Wang
no flags
patch (5.43 KB, patch)
2016-03-17 22:43 PDT, Nan Wang
cfleizach: review+
commit-queue: commit-queue-
Radar WebKit Bug Importer
Comment 1 2016-03-17 17:23:30 PDT
Nan Wang
Comment 2 2016-03-17 17:47:59 PDT
Created attachment 274349 [details] patch Spent quite a long time trying to figure out a way to test. Was adding the AXSelectedTextMarkerRange notification to the test and getting the TextMarkerRange when input field is focused. But even we get the TextMarkerRange for that selection, it's difficult to determine which node the TextMarker is associated with. Or we can expose some function to get the Range object from TextMarkerRange, then check the node in it. Seems there's no easy way to do this. So I'd rather put the fix here first.
chris fleizach
Comment 3 2016-03-17 18:20:46 PDT
Comment on attachment 274349 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=274349&action=review it seems like we could write a test with "a <div contenteditable="true"></div> b" and get the range of the whole content there and then verify that the length is correct or that it has the right embedded elements > Source/WebCore/ChangeLog:8 > + The div element inside the INPUT element gives a collapsed TextMarkerRange which then creates why does this break typing with VO?
Nan Wang
Comment 4 2016-03-17 18:30:16 PDT
Comment on attachment 274349 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=274349&action=review >> Source/WebCore/ChangeLog:8 >> + The div element inside the INPUT element gives a collapsed TextMarkerRange which then creates > > why does this break typing with VO? I think VO is asking for a textMarkerRange of the input field, without this fix the contenteditable div is not included in the range. So VO had no idea what's inside the input field.
Nan Wang
Comment 5 2016-03-17 22:00:23 PDT
Created attachment 274371 [details] patch added layout test
Nan Wang
Comment 6 2016-03-17 22:43:38 PDT
Created attachment 274374 [details] patch Fixed test expectation
WebKit Commit Bot
Comment 7 2016-03-18 00:36:10 PDT
Comment on attachment 274374 [details] patch Rejecting attachment 274374 [details] from commit-queue. Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-03', 'land-attachment', '--force-clean', '--non-interactive', '--parent-command=commit-queue', 274374, '--port=mac']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit Last 500 characters of output: ubmit return self.open(self.click(*args, **kwds)) File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_mechanize.py", line 203, in open return self._mech_open(url, data, timeout=timeout) File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_mechanize.py", line 255, in _mech_open raise response webkitpy.thirdparty.autoinstalled.mechanize._response.httperror_seek_wrapper: HTTP Error 500: Internal Server Error Full output: http://webkit-queues.webkit.org/results/998051
Nan Wang
Comment 8 2016-03-18 10:44:03 PDT
Note You need to log in before you can comment on or make changes to this bug.