Skip to content

Instantly share code, notes, and snippets.

@mbildner
Created April 26, 2015 15:17
Show Gist options
  • Save mbildner/c30fdc6b61d2a2cb19ae to your computer and use it in GitHub Desktop.
Save mbildner/c30fdc6b61d2a2cb19ae to your computer and use it in GitHub Desktop.
Fix google search results tab order
;(function(document){
'use strict';
function qsArr (qsString) {
return [].slice.call(document.querySelectorAll(qsString));
}
function getSearchResults () {
return qsArr('#rso h3 a');
}
function getTabIndex (element) {
return +element.getAttribute('tabindex');
}
function setTabIndex (element, index) {
element.setAttribute('tabindex', index.toString());
return index;
}
function incrTabIndex(element, offset) {
var current = getTabIndex(element);
var incremented = current + offset;
setTabIndex(element, incremented);
return incremented;
}
var searchResultLinks = getSearchResults();
var offset = searchResultLinks.length;
var existingTabs = qsArr('[tabindex]');
existingTabs.forEach(function (element) {
incrTabIndex(element, offset);
});
searchResultLinks.forEach(function (element, index) {
setTabIndex(element, index + 1);
});
})(document);
@mbildner
Copy link
Author

Compiled using Google Closure Service:

(function(c){function d(a,b){a.setAttribute("tabindex",b.toString());return b}var e=[].slice.call(c.querySelectorAll("#rso h3 a")),f=e.length;[].slice.call(c.querySelectorAll("[tabindex]")).forEach(function(a){var b=+a.getAttribute("tabindex")+f;d(a,b)});e.forEach(function(a,b){d(a,b+1)})})(document);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment