Chromium Code Reviews| Index: chrome/browser/resources/local_ntp/most_visited_util.js |
| diff --git a/chrome/browser/resources/local_ntp/most_visited_util.js b/chrome/browser/resources/local_ntp/most_visited_util.js |
| index 430917941438949c32dad5578af08ba5ce3c5e69..a2423a9a8b7e0cab5909e41a2a149cf02fca8353 100644 |
| --- a/chrome/browser/resources/local_ntp/most_visited_util.js |
| +++ b/chrome/browser/resources/local_ntp/most_visited_util.js |
| @@ -123,20 +123,26 @@ function createMostVisitedLink(params, href, title, text, direction, provider) { |
| link.href = href; |
| link.title = title; |
| link.target = '_top'; |
| - // Exclude links from the tab order. The tabIndex is added to the thumbnail |
| - // parent container instead. |
| - link.tabIndex = '-1'; |
| + // Include links in the tab order. The tabIndex is necessary for |
| + // accessibility. |
| + link.tabIndex = '0'; |
| if (text) |
| link.textContent = text; |
| link.addEventListener('mouseover', function() { |
| var ntpApiHandle = chrome.embeddedSearch.newTabPage; |
| ntpApiHandle.logEvent(NTP_LOGGING_EVENT_TYPE.NTP_MOUSEOVER); |
| }); |
| + link.addEventListener('focus', function() { |
| + window.parent.postMessage('linkFocused', DOMAIN_ORIGIN); |
| + }); |
| + link.addEventListener('blur', function() { |
| + window.parent.postMessage('linkBlurred', DOMAIN_ORIGIN); |
| + }); |
| // Webkit's security policy prevents some Most Visited thumbnails from |
| // working (those with schemes different from http and https). Therefore, |
| // navigateContentWindow is being used in order to get all schemes working. |
| - link.addEventListener('click', function handleNavigation(e) { |
| + var navigateFunction = function handleNavigation(e) { |
| var isServerSuggestion = 'url' in params; |
| // Ping are only populated for server-side suggestions, never for MV. |
| @@ -155,6 +161,17 @@ function createMostVisitedLink(params, href, title, text, direction, provider) { |
| ntpApiHandle.navigateContentWindow(href, getDispositionFromEvent(e)); |
| } |
| // Else follow <a> normally, so transition type would be LINK. |
| + }; |
| + |
| + link.addEventListener('click', navigateFunction); |
| + link.addEventListener('keydown', function(event) { |
| + if (event.keyCode == 46 /* DELETE */ || |
| + event.keyCode == 8 /* BACKSPACE */) { |
| + event.preventDefault(); |
| + window.parent.postMessage('tileBlacklisted,' + params.pos, DOMAIN_ORIGIN); |
| + } else if (event.keyCode == 13 /* ENTER */) { |
|
dmazzoni
2014/09/11 20:33:14
Handle both space and enter here?
Mathieu
2014/09/11 20:54:10
Done.
|
| + navigateFunction(event); |
| + } |
| }); |
| return link; |