Skip to content
Snippets Groups Projects
Commit 2f8d92a2 authored by Aria Givi's avatar Aria Givi
Browse files

first link in search results can now be selected and 'clicked on' with keyboard

parent 27a83eff
No related branches found
No related tags found
2 merge requests!1453Development,!1447Resolve "Make result page keyboard maneuverable"
......@@ -2,7 +2,6 @@ var ctrlInfo = false; // Flag used for checking if the user was shown the
var currentResultIndex = 1; // stores index of result which was focused last
var currentElementData = { // Object used for storing currently focused element and element type (e.g. anchor tag or result div)
element: $("div.result").first(),
selector: "div.result",
type: "result"
};
......@@ -19,12 +18,11 @@ $(document).on('keydown', function(e) {
}
});
function setFocus(e, selector, type) {
function setFocus(e, type) {
currentElementData.element = e;
currentElementData.selector = selector;
currentElementData.type = type;
currentElementData.element.focus();
console.log(currentElementData);
currentElementData.element.focus();
}
function tabKeyPressed() {
......@@ -37,29 +35,31 @@ function tabKeyPressed() {
}
function enterKeyPressed() {
if(currentElementData.type = "result") {
// setFocus(currentElementData.element, "link")
}
if(currentElementData.type === "result") {
console.log($(":focus").find("a").first());
setFocus($(":focus").find("a").first(), "link")
} else if(currentElementData.type === "link") {
window.location = currentElementData.element.attr('href');
}
}
function showInfoBox() {
$("#keyboard-ctrl-info").show();
setFocus($("#keyboard-ctrl-info"), "#keyboard-ctrl-info", "infobox");
setFocus($("#keyboard-ctrl-info"), "infobox");
}
function focusNextElement() {
if(currentElementData.type === "result") {
focusNextResult();
} else {
setFocus($("div.result").not('.ad').first(), "div.result" , "result");
setFocus($("div.result").not('.ad').first(), "result");
}
}
function focusNextResult() {
if(currentElementData.element.next().length > 0) {
setFocus(currentElementData.element.next(), '' , "result");
setFocus(currentElementData.element.next(), "result");
} else {
setFocus($("div.result").not('.ad').first(), "div.result" , "result");
setFocus($("div.result").not('.ad').first(), "result");
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment