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.
<rdar://problem/25230574>
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.
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?
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.
Created attachment 274371 [details] patch added layout test
Created attachment 274374 [details] patch Fixed test expectation
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
Committed r198426: <http://trac.webkit.org/changeset/198426>