This regressed in <https://trac.webkit.org/changeset/236935> (bug #190345) on device. This does not effect the simulator (why?). Holding down an arrow key, say down arrow, outside an editable element does not cause repeated DOM keydown events to be dispatched. You can observe this by using the web page <https://unixpapa.com/js/testkey.html> and pressing and holding the down arrow. I see a single keydown event and a single keyup event. But you should see multiple keydown events and a single keyup events.
<rdar://problem/45895135>