diff --git a/web/static/css/style.css b/web/static/css/style.css index 9648be4..56780dd 100644 --- a/web/static/css/style.css +++ b/web/static/css/style.css @@ -164,6 +164,8 @@ .tag-suggestion[aria-selected="true"] { background: var(--pico-primary-focus); + outline: 2px solid var(--pico-primary); + outline-offset: -2px; } /* Fave detail actions */ diff --git a/web/static/js/app.js b/web/static/js/app.js index 828dbf3..a1d061c 100644 --- a/web/static/js/app.js +++ b/web/static/js/app.js @@ -48,7 +48,7 @@ if (status) { status.textContent = count > 0 ? count + " forslag tilgjengelig" - : ""; + : "Ingen forslag"; } // Reset active descendant tracking. @@ -88,21 +88,19 @@ break; case "ArrowUp": event.preventDefault(); - activeIndex = Math.max(activeIndex - 1, 0); - setActiveDescendant(items); + // Allow arrowing back to -1 to deselect all options. + activeIndex = Math.max(activeIndex - 1, -1); + if (activeIndex === -1) { + clearActiveDescendant(); + clearAriaSelected(items); + } else { + setActiveDescendant(items); + } break; case "Enter": if (activeIndex >= 0 && activeIndex < items.length) { event.preventDefault(); - var tagName = items[activeIndex].textContent.trim(); - addTag(null, tagName); - } - break; - case " ": - if (activeIndex >= 0 && activeIndex < items.length) { - event.preventDefault(); - var tagName2 = items[activeIndex].textContent.trim(); - addTag(null, tagName2); + addTag(null, items[activeIndex].textContent.trim()); } break; case "Escape": @@ -133,6 +131,12 @@ } } + function clearAriaSelected(items) { + for (var i = 0; i < items.length; i++) { + items[i].setAttribute("aria-selected", "false"); + } + } + function closeSuggestions() { var listbox = document.getElementById("tag-suggestions"); if (listbox) { diff --git a/web/templates/pages/admin_requests.html b/web/templates/pages/admin_requests.html index ad2eafe..af35fc2 100644 --- a/web/templates/pages/admin_requests.html +++ b/web/templates/pages/admin_requests.html @@ -7,6 +7,7 @@ {{with .Data}} {{if .Requests}} +
@@ -37,6 +38,7 @@ {{end}}
+
{{else}}

Ingen ventende forespørsler.

{{end}} diff --git a/web/templates/pages/admin_tags.html b/web/templates/pages/admin_tags.html index b885166..96324c9 100644 --- a/web/templates/pages/admin_tags.html +++ b/web/templates/pages/admin_tags.html @@ -7,6 +7,7 @@ {{with .Data}} {{if .Tags}} +
@@ -35,6 +36,7 @@ {{end}}
+
{{else}}

Ingen merkelapper ennå.

{{end}} diff --git a/web/templates/partials/tag_suggestions.html b/web/templates/partials/tag_suggestions.html index 86c25aa..22911e1 100644 --- a/web/templates/partials/tag_suggestions.html +++ b/web/templates/partials/tag_suggestions.html @@ -3,6 +3,5 @@ class="tag-suggestion" aria-selected="false" onclick="addTag(this, '{{$tag.Name}}')" - onkeydown="if(event.key==='Enter'||event.key===' '){event.preventDefault();addTag(this, '{{$tag.Name}}')}" tabindex="-1">{{$tag.Name}} {{end}}