mirror of https://github.com/golang/go.git
doc/godoc.js: put focus on div#page when necessary
so that keyboard navigation events are sent to div#page.
Fixes #4233.
R=adg
CC=golang-dev
https://golang.org/cl/6652048
This commit is contained in:
parent
7e144bcab0
commit
6e0df254b0
|
|
@ -163,6 +163,22 @@ function setupDropdownPlayground() {
|
||||||
$('#menu').css('min-width', '+=60');
|
$('#menu').css('min-width', '+=60');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// fixFocus tries to put focus to div#page so that keyboard navigation works.
|
||||||
|
function fixFocus() {
|
||||||
|
var page = $('div#page');
|
||||||
|
var topbar = $('div#topbar');
|
||||||
|
page.css('outline', 0); // disable outline when focused
|
||||||
|
page.attr('tabindex', -1); // and set tabindex so that it is focusable
|
||||||
|
$(window).resize(function (evt) {
|
||||||
|
// only focus page when the topbar is at fixed position (that is, it's in
|
||||||
|
// front of page, and keyboard event will go to the former by default.)
|
||||||
|
// by focusing page, keyboard event will go to page so that up/down arrow,
|
||||||
|
// space, etc. will work as expected.
|
||||||
|
if (topbar.css('position') == "fixed")
|
||||||
|
page.focus();
|
||||||
|
}).resize();
|
||||||
|
}
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
bindSearchEvents();
|
bindSearchEvents();
|
||||||
generateTOC();
|
generateTOC();
|
||||||
|
|
@ -173,6 +189,7 @@ $(document).ready(function() {
|
||||||
bindToggleLinks(".examplesLink", "");
|
bindToggleLinks(".examplesLink", "");
|
||||||
bindToggleLinks(".indexLink", "");
|
bindToggleLinks(".indexLink", "");
|
||||||
setupDropdownPlayground();
|
setupDropdownPlayground();
|
||||||
|
fixFocus();
|
||||||
});
|
});
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue