+ // Keyboard navigation for template list.\r
+ if ( onList || listContainer.contains( target ) )\r
+ {\r
+ var keystroke = evt.data.getKeystroke(),\r
+ items = listContainer.getElementsByTag( 'a' ),\r
+ focusItem;\r
+\r
+ if ( items )\r
+ {\r
+ // Focus not yet onto list items?\r
+ if ( onList )\r
+ focusItem = items.getItem( 0 );\r
+ else\r
+ {\r
+ switch ( keystroke )\r
+ {\r
+ case 40 : // ARROW-DOWN\r
+ focusItem = target.getNext();\r
+ break;\r
+\r
+ case 38 : // ARROW-UP\r
+ focusItem = target.getPrevious();\r
+ break;\r
+\r
+ case 13 : // ENTER\r
+ case 32 : // SPACE\r
+ target.fire( 'click' );\r
+ }\r
+ }\r
+\r
+ if ( focusItem )\r
+ {\r
+ focusItem.focus();\r
+ evt.data.preventDefault();\r
+ }\r
+ }\r
+ }\r
+ }\r