Index: src/wp-admin/js/language-chooser.js
===================================================================
--- src/wp-admin/js/language-chooser.js	(revision 29021)
+++ src/wp-admin/js/language-chooser.js	(working copy)
@@ -40,4 +40,29 @@
 		$(this).find('.step .spinner').css('visibility','visible');
 	});
 
+	var hits = 0,
+		row_height = $('.language-chooser').find('label').height();
+		max = $fieldset.find('input').length - parseInt( $fieldset.height() / row_height, 10 );
+	$(document).keydown(function(e) {
+		if ( e.which !== 38 && e.which !== 40 ) {
+			return;
+		}
+
+		// Hits should be positive value, shouldn't be more than inputs count
+		if ( hits >= 0 && hits <= max ) {
+			if ( e.which == 38 ) { // Up
+				hits--;
+			}
+			else { // Down
+				hits++;
+			}
+
+			// Fix limit values
+			hits = hits < 1 ? 0 : hits;
+			hits = hits > max ? max : hits;
+
+			$fieldset.scrollTop( row_height * hits );
+		}
+	});
+
 })(jQuery);
