From f089b0030bc637c7c8725a8387f9bb9842d0ce0e Mon Sep 17 00:00:00 2001
From: Alexander Purr <purr@ub.uni-leipzig.de>
Date: Tue, 4 Oct 2022 15:06:53 +0200
Subject: [PATCH] refs #21417 [fid_adlr] w3c validation

* start page
** <meta name="description"> only once - language check
** remove tabindex="-1" on search button's inner span

* result list
** Element form not allowed as child of element span in this context -> search controls sort and pages
** an unquoted attribute value. Probable causes: Attributes running together or a URL query string in an unquoted attribute value. -> added quote in result grouping template
** Element a not allowed as child of element ul in this context. (Suppressing further errors from this subtree.) -> facet-lists more / less links within li (from finc-accessibility theme)
** Element div not allowed as child of element ul in this context. (Suppressing further errors from this subtree.) -> date range slider facet as li (+ additional styling)
** The select element cannot have more than one selected option descendant unless the multiple attribute is specified. -> remove selected attribute from disabled option for limit and sort in offcanvas
** Attribute maxlength is only allowed when the input type is email, password, search, tel, text, or url. -> reuse finc version for date range slider (max instead of maxlength)

* details view
** Element p not allowed as child of element h3 in this context. (Suppressing further errors from this subtree.) -> subtitle as span instead of p
** Duplicate ID toolbar-menu. -> remove second
** Element ul not allowed as child of element span in this context. (Suppressing further errors from this subtree.) -> span to div
** Attribute href not allowed on element button at this point. -> href to data-target
** Get-It-Box: #get-it-button / Ressources-Button (/Record/0-725915765)
** RecordTabs: #side-collapse-... (/Record/0-725915765)
** Bad value >>side-panel-Table of Contents<< for attribute id on element div: An ID must not contain whitespace. -> RecordTabs: use $tab instead $desc for construct ID in core-templates (but IDs are not really in use, IDs used just for styling)

* result list (active filters)
** Duplicate ID applied_filter_1 -> in searchbox.phtml applied filter were rendered twice
** Attribute href not allowed on element button at this point. -> href to data-target
** toggle button facet group
** End tag ul seen, but there were open elements. -> moving endif (closing div and li was missed before); problem only if filters are active

* date range slider
** revert design changes of ticket 22462
** add up & down Arrows again by using input type=number

* result list advanced search
** No p element in scope but a p end tag seen. -> remove falsely added closing p

co-authored by: Robert Lange <robert.lange@uni-leipzig.de>
* add missing closing div in view
---
 themes/fid_adlr/scss/_customVariables.scss    |  3 +
 .../fid_adlr/scss/components/_headings.scss   |  1 +
 .../templates/Recommend/SideFacets.phtml      |  2 +-
 .../Recommend/SideFacets/cluster-list.phtml   | 32 ++++---
 .../Recommend/SideFacets/range-slider.phtml   | 15 ++--
 .../RecordDriver/DefaultRecord/core.phtml     | 10 +--
 .../templates/RecordDriver/SolrAI/core.phtml  | 10 +--
 .../RecordDriver/SolrMarc/core.phtml          | 10 +--
 .../fid_adlr/templates/get-it-box/links.phtml |  2 +-
 themes/fid_adlr/templates/layout/layout.phtml |  7 +-
 themes/fid_adlr/templates/record/view.phtml   |  2 +-
 .../templates/search/advanced/ranges.phtml    | 86 -------------------
 .../search/advanced_search_information.phtml  |  2 +-
 .../templates/search/controls/grouping.phtml  |  2 +-
 .../search/controls/limit-offcanvas.phtml     |  4 +-
 .../search/controls/sort-offcanvas.phtml      |  4 +-
 .../fid_adlr/templates/search/results.phtml   |  8 +-
 .../fid_adlr/templates/search/searchbox.phtml | 18 +---
 18 files changed, 67 insertions(+), 151 deletions(-)
 delete mode 100644 themes/fid_adlr/templates/search/advanced/ranges.phtml

diff --git a/themes/fid_adlr/scss/_customVariables.scss b/themes/fid_adlr/scss/_customVariables.scss
index d5e03116a0d..c043fd11f88 100644
--- a/themes/fid_adlr/scss/_customVariables.scss
+++ b/themes/fid_adlr/scss/_customVariables.scss
@@ -230,6 +230,9 @@ $search-button-clip-width-sm: 75px;
 //$select-bg-color: $ghost !default;
 $form-group-margin-top: 50px;
 
+// Range Slider form in sidebar
+$facet-range-form-padding: 0;
+
 
 // *****************************************************************
 // ************ Accordions/Collapse elements ***********************
diff --git a/themes/fid_adlr/scss/components/_headings.scss b/themes/fid_adlr/scss/components/_headings.scss
index 62571b8d53d..3400d1e4d81 100644
--- a/themes/fid_adlr/scss/components/_headings.scss
+++ b/themes/fid_adlr/scss/components/_headings.scss
@@ -109,6 +109,7 @@ h3 {
   .sub {
     font-size: $font-size-title-sub;
     line-height: 1.35em;
+    display: block;
   }
 
   .home.container & {
diff --git a/themes/fid_adlr/templates/Recommend/SideFacets.phtml b/themes/fid_adlr/templates/Recommend/SideFacets.phtml
index c75c0d08bfb..3d9ebff8e41 100644
--- a/themes/fid_adlr/templates/Recommend/SideFacets.phtml
+++ b/themes/fid_adlr/templates/Recommend/SideFacets.phtml
@@ -74,7 +74,7 @@
     <div class="facet-group" id="side-panel-<?=$this->escapeHtmlAttr($title) ?>">
       <?php /* fid_adlr: corrects aria-expanded on side facets #21185 */ ?>
       <button
-        <?php if (in_array($title, $collapsedFacets)): ?>class="title collapsed" aria-expanded="false"<?php else: ?>class="title" aria-expanded="true"<?php endif ?> data-toggle="collapse" href="#side-collapse-<?=$this->escapeHtmlAttr($title) ?>"
+        <?php if (in_array($title, $collapsedFacets)): ?>class="title collapsed" aria-expanded="false"<?php else: ?>class="title" aria-expanded="true"<?php endif ?> data-toggle="collapse" data-target="#side-collapse-<?=$this->escapeHtmlAttr($title) ?>"
       >
         <?=$this->transEsc($cluster['label'])?> <span class="sr-only"><?=$this->transEsc('facet_select_hint') ?></span>
       </button>
diff --git a/themes/fid_adlr/templates/Recommend/SideFacets/cluster-list.phtml b/themes/fid_adlr/templates/Recommend/SideFacets/cluster-list.phtml
index adebd55c12a..3028b668e54 100644
--- a/themes/fid_adlr/templates/Recommend/SideFacets/cluster-list.phtml
+++ b/themes/fid_adlr/templates/Recommend/SideFacets/cluster-list.phtml
@@ -8,14 +8,18 @@
       <?php $moreUrl = '#'; ?>
     <?php endif; ?>
     <?php if (($this->showMoreInLightbox && $this->showMoreInLightbox !== 'more') && $facetLightbox): ?>
-      <a <?=$idAndClass ?> data-lightbox href="<?=$moreUrl ?>" rel="nofollow">
-        <i class="icon icon-plus-circle" aria-hidden="true"></i>&nbsp;&nbsp;<span class="text"><?=$this->transEsc('more')?></span>
-      </a>
+      <li>
+        <a <?=$idAndClass ?> data-lightbox href="<?=$moreUrl ?>" rel="nofollow">
+          <i class="icon icon-plus-circle" aria-hidden="true"></i>&nbsp;&nbsp;<span class="text"><?=$this->transEsc('more')?></span>
+        </a>
+      </li>
       <?php break; ?>
     <?php endif; ?>
-    <a <?=$idAndClass ?> href="<?=$moreUrl ?>" onclick="return moreFacets('narrowGroupHidden-<?=$this->escapeHtmlAttr($this->title) ?>')" rel="nofollow">
-      <i class="icon icon-plus-circle" aria-hidden="true"></i>&nbsp;&nbsp;<span class="text"><?=$this->transEsc('more')?></span>
-    </a>
+    <li>
+      <a <?=$idAndClass ?> href="<?=$moreUrl ?>" onclick="return moreFacets('narrowGroupHidden-<?=$this->escapeHtmlAttr($this->title) ?>')" rel="nofollow">
+        <i class="icon icon-plus-circle" aria-hidden="true"></i>&nbsp;&nbsp;<span class="text"><?=$this->transEsc('more')?></span>
+      </a>
+    </li>
   <?php endif; ?>
   <?=$this->render('Recommend/SideFacets/single-facet.phtml', [
     'exclude' => $this->allowExclude,
@@ -39,11 +43,15 @@
         $moreUrl .= '&amp;baseUriExtra=' . urlencode($this->baseUriExtra);
       }
     ?>
-    <a class="facet narrow-toggle <?=$moreClass ?>" data-lightbox href="<?=$moreUrl ?>" rel="nofollow">
-      <span class="text"><?=$this->transEsc('see all')?></span>
-    </a>
+    <li>
+      <a class="facet narrow-toggle <?=$moreClass ?>" data-lightbox href="<?=$moreUrl ?>" rel="nofollow">
+        <span class="text"><?=$this->transEsc('see all')?></span>
+      </a>
+    </li>
   <?php endif; ?>
-  <a class="facet narrow-toggle <?=$moreClass ?>" href="#" onclick="return lessFacets('narrowGroupHidden-<?=$this->escapeHtmlAttr($this->title) ?>')">
-    <i class="icon icon-minus-circle" aria-hidden="true"></i>&nbsp;&nbsp;<span class="text"><?=$this->transEsc('less')?></span>
-  </a>
+  <li>
+    <a class="facet narrow-toggle <?=$moreClass ?>" href="#" onclick="return lessFacets('narrowGroupHidden-<?=$this->escapeHtmlAttr($this->title) ?>')">
+      <i class="icon icon-minus-circle" aria-hidden="true"></i>&nbsp;&nbsp;<span class="text"><?=$this->transEsc('less')?></span>
+    </a>
+  </li>
 <?php endif; ?>
diff --git a/themes/fid_adlr/templates/Recommend/SideFacets/range-slider.phtml b/themes/fid_adlr/templates/Recommend/SideFacets/range-slider.phtml
index 7249bc846c0..f865ef4a1d5 100644
--- a/themes/fid_adlr/templates/Recommend/SideFacets/range-slider.phtml
+++ b/themes/fid_adlr/templates/Recommend/SideFacets/range-slider.phtml
@@ -1,6 +1,6 @@
 <!-- fid_adlr: Recommend - SideFacets - range-slider -->
 <?php /* compare with bootstrap3 */?>
-<div class="facet">
+<li class="facet">
   <form class="facet-range-form" name="<?=$this->escapeHtmlAttr($this->title)?>Filter" id="<?=$this->escapeHtmlAttr($this->title)?>Filter">
     <?=$results->getUrlQuery()->asHiddenFields(['page' => "/./", 'filter' => "/^{$this->title}:.*/"])?>
     <input type="hidden" name="<?=$this->escapeHtmlAttr($this->facet['type'])?>range[]" value="<?=$this->escapeHtmlAttr($this->title)?>"/>
@@ -9,28 +9,29 @@
       <div class="slider-container"><input type="text" class="hidden" id="<?=$this->escapeHtmlAttr($this->title)?><?=$this->escapeHtml($this->facet['type'])?>Slider" aria-label="<?=$this->transEsc('Range-from-to')?>"/></div>
     <?php endif; ?>
     <div class="date-fields">
-      <?php $extraInputAttribs = ($this->facet['type'] == 'date') ? 'maxlength="4" ' : ''; ?>
+      <?php /* finc adds 'max="'.(date('Y')+1).' to prevent dates beyond the year + 1 to be entered; maxlength was causing w3c issues  */ ?>
+      <?php $extraInputAttribs = ($this->facet['type'] == 'date') ? 'max="'.(date('Y')+1).'" ' : ''; ?>
       <div class="date-from">
         <?php /* finc adds label ids */ ?>
         <label id="from-label" for="<?=$this->escapeHtmlAttr($this->title)?>from">
           <?php /* fid_adlr: modify result list; remove colon #15967 */ ?>
           <?=$this->transEsc('date_from')?>
         </label>
-        <?php /* fid_adlr: remove type="number" #22461 */ ?>
-        <input class="form-control" name="<?=$this->escapeHtmlAttr($this->title)?>from" id="<?=$this->escapeHtmlAttr($this->title)?>from" value="<?=isset($this->facet['values'][0]) ? $this->escapeHtmlAttr($this->facet['values'][0]) : ''?>" <?=$extraInputAttribs?>/>
+        <?php /* finc changes this to number for consistency with adv search  */ ?>
+        <input type="number" class="form-control" name="<?=$this->escapeHtmlAttr($this->title)?>from" id="<?=$this->escapeHtmlAttr($this->title)?>from" value="<?=isset($this->facet['values'][0]) ? $this->escapeHtmlAttr($this->facet['values'][0]) : ''?>" <?=$extraInputAttribs?>/>
       </div>
       <div class="date-to">
         <label id="to-label" for="<?=$this->escapeHtmlAttr($this->title)?>to">
           <?php /* fid_adlr: modify result list; remove colon #15967 */ ?>
           <?=$this->transEsc('date_to')?>
         </label>
-        <?php /* fid_adlr: remove type="number" #22461 */ ?>
-        <input class="form-control" name="<?=$this->escapeHtmlAttr($this->title)?>to" id="<?=$this->escapeHtmlAttr($this->title)?>to" value="<?=isset($this->facet['values'][1]) ? $this->escapeHtmlAttr($this->facet['values'][1]) : ''?>" <?=$extraInputAttribs?>/>
+        <?php /* finc changes this to number for consistency with adv search  */ ?>
+        <input type="number" class="form-control" name="<?=$this->escapeHtmlAttr($this->title)?>to" id="<?=$this->escapeHtmlAttr($this->title)?>to" value="<?=isset($this->facet['values'][1]) ? $this->escapeHtmlAttr($this->facet['values'][1]) : ''?>" <?=$extraInputAttribs?>/>
       </div>
     </div>
     <input class="btn btn-default" type="submit" value="<?=$this->transEsc('Set')?>"/>
   </form>
-</div>
+</li>
 <?php if ($this->facet['type'] == 'date'): ?>
   <?php $this->headScript()->appendFile('vendor/bootstrap-slider.min.js'); ?>
   <?php $this->headLink()->appendStylesheet('vendor/bootstrap-slider.min.css'); ?>
diff --git a/themes/fid_adlr/templates/RecordDriver/DefaultRecord/core.phtml b/themes/fid_adlr/templates/RecordDriver/DefaultRecord/core.phtml
index 762cb367332..638e48cbabe 100644
--- a/themes/fid_adlr/templates/RecordDriver/DefaultRecord/core.phtml
+++ b/themes/fid_adlr/templates/RecordDriver/DefaultRecord/core.phtml
@@ -50,7 +50,7 @@
                    finc: add schema tags for title #13850 - VE */ ?>
           <?php /* fid_adlr: #16676 separate title_sub from title_short- RL */ ?>
           <h3 property="name" lang=""><?=$this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getShortTitle(), 100)))?>
-            <p class="sub"><?=$this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 125)))?></p>
+            <span class="sub"><?=$this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 125)))?></span>
           </h3>
 
           <?php if(!empty($this->extraControls)): ?>
@@ -90,9 +90,9 @@
               <a href="#" data-lightbox class="dropdown-toggle" id="toolbar-menu" data-toggle="dropdown" aria-controls="toolbar-menu">
                 <i class="icon icon-share-2 icon-1.5x" aria-hidden="true"></i>
               </a>
-              <span id="toolbar-menu" class="dropdown-menu" aria-labelledby="toolbar-menu">
+              <div class="dropdown-menu" aria-labelledby="toolbar-menu">
                 <?=$this->record($this->driver)->getToolbar()?>
-              </span>
+              </div>
             </div>
             <br/>
             <?php elseif ($block = $this->permission()->getAlternateContent('feature.Favorites')): ?>
@@ -181,8 +181,8 @@
         <?php // add current tab to breadcrumbs if applicable:
           $desc = $obj->getDescription();
         ?>
-        <div class="facet-group" id="side-panel-<?=$desc?>">
-          <button class="title collapsed" data-toggle="collapse" href="#side-collapse-<?=$tab?>">
+        <div class="facet-group" id="side-panel-<?=$tab?>">
+          <button class="title collapsed" data-toggle="collapse" data-target="#side-collapse-<?=$tab?>">
             <?=$this->transEsc($desc)?>
           </button>
           <div id="side-collapse-<?=$tab?>" class="collapse">
diff --git a/themes/fid_adlr/templates/RecordDriver/SolrAI/core.phtml b/themes/fid_adlr/templates/RecordDriver/SolrAI/core.phtml
index efc409c35c7..64518b5ccb5 100644
--- a/themes/fid_adlr/templates/RecordDriver/SolrAI/core.phtml
+++ b/themes/fid_adlr/templates/RecordDriver/SolrAI/core.phtml
@@ -50,7 +50,7 @@
                    finc: add schema tags for title #13850 - VE */ ?>
           <?php /* fid_adlr: #16676 separate title_sub from title_short- RL */ ?>
           <h3 property="name" lang=""><?=$this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getShortTitle(), 100)))?>
-            <p class="sub"><?=$this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 125)))?></p>
+            <span class="sub"><?=$this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 125)))?></span>
           </h3>
 
           <?php if(!empty($this->extraControls)): ?>
@@ -90,9 +90,9 @@
               <a href="#" data-lightbox class="dropdown-toggle" id="toolbar-menu" data-toggle="dropdown" aria-controls="toolbar-menu">
                 <i class="icon icon-share-2 icon-1.5x" aria-hidden="true"></i>
               </a>
-              <span id="toolbar-menu" class="dropdown-menu" aria-labelledby="toolbar-menu">
+              <div id="toolbar-menu" class="dropdown-menu" aria-labelledby="toolbar-menu">
                 <?=$this->record($this->driver)->getToolbar()?>
-              </span>
+              </div>
             </div>
             <br/>
             <?php elseif ($block = $this->permission()->getAlternateContent('feature.Favorites')): ?>
@@ -181,8 +181,8 @@
         <?php // add current tab to breadcrumbs if applicable:
           $desc = $obj->getDescription();
         ?>
-        <div class="facet-group" id="side-panel-<?=$desc?>">
-          <button class="title collapsed" data-toggle="collapse" href="#side-collapse-<?=$tab?>">
+        <div class="facet-group" id="side-panel-<?=$tab?>">
+          <button class="title collapsed" data-toggle="collapse" data-target="#side-collapse-<?=$tab?>">
             <?=$this->transEsc($desc)?>
           </button>
           <div id="side-collapse-<?=$tab?>" class="collapse">
diff --git a/themes/fid_adlr/templates/RecordDriver/SolrMarc/core.phtml b/themes/fid_adlr/templates/RecordDriver/SolrMarc/core.phtml
index 2b6100f489c..4cace3fcb2a 100644
--- a/themes/fid_adlr/templates/RecordDriver/SolrMarc/core.phtml
+++ b/themes/fid_adlr/templates/RecordDriver/SolrMarc/core.phtml
@@ -51,7 +51,7 @@
                    finc: add schema tags for title #13850 - VE */ ?>
           <?php /* fid_adlr: #16676 separate title_sub from title_short- RL */ ?>
           <h3 property="name" lang=""><?=$this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getShortTitle(), 100)))?>
-            <p class="sub"><?=$this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 125)))?></p>
+            <span class="sub"><?=$this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 125)))?></span>
           </h3>
 
           <?php if(!empty($this->extraControls)): ?>
@@ -91,9 +91,9 @@
               <a href="#" data-lightbox class="dropdown-toggle" id="toolbar-menu" data-toggle="dropdown" aria-controls="toolbar-menu">
                 <i class="icon icon-share-2 icon-1.5x" aria-hidden="true"></i>
               </a>
-              <span id="toolbar-menu" class="dropdown-menu" aria-labelledby="toolbar-menu">
+              <div class="dropdown-menu" aria-labelledby="toolbar-menu">
                 <?=$this->record($this->driver)->getToolbar()?>
-              </span>
+              </div>
             </div>
             <br/>
             <?php elseif ($block = $this->permission()->getAlternateContent('feature.Favorites')): ?>
@@ -182,8 +182,8 @@
         <?php // add current tab to breadcrumbs if applicable:
           $desc = $obj->getDescription();
         ?>
-        <div class="facet-group" id="side-panel-<?=$desc?>">
-          <button class="title collapsed" data-toggle="collapse" href="#side-collapse-<?=$tab?>">
+        <div class="facet-group" id="side-panel-<?=$tab?>">
+          <button class="title collapsed" data-toggle="collapse" data-target="#side-collapse-<?=$tab?>">
             <?=$this->transEsc($desc)?>
           </button>
           <div id="side-collapse-<?=$tab?>" class="collapse">
diff --git a/themes/fid_adlr/templates/get-it-box/links.phtml b/themes/fid_adlr/templates/get-it-box/links.phtml
index a6409e93e31..9901070b62a 100644
--- a/themes/fid_adlr/templates/get-it-box/links.phtml
+++ b/themes/fid_adlr/templates/get-it-box/links.phtml
@@ -1,6 +1,6 @@
 <!-- fid_adlr: get-it-box - links -->
 <div class="facet-group" id="get-it-links-<?= $getitConfig['accordeonColor'] ?>">
-  <button class="title collapsed" id="get-it-button" data-toggle="collapse" href="#side-collapse-links-data">
+  <button class="title collapsed" id="get-it-button" data-toggle="collapse" data-target="#side-collapse-links-data">
     <?= $getitConfig['accordeonHeadline'] ?>
   </button>
   <div id="side-collapse-links-data" class="collapse">
diff --git a/themes/fid_adlr/templates/layout/layout.phtml b/themes/fid_adlr/templates/layout/layout.phtml
index e46c954e74d..7eb54c0e257 100644
--- a/themes/fid_adlr/templates/layout/layout.phtml
+++ b/themes/fid_adlr/templates/layout/layout.phtml
@@ -8,8 +8,11 @@
   <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
   <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
   <?php /* TODO: use TranslatorAwareTrait:translateString instead of using postfix [_locale]*/ ?>
-  <meta name="description" lang="de" content="<?=$this->translate('adlr_head_description_de')?>">
-  <meta name="description" lang="en" content="<?=$this->translate('adlr_head_description_en')?>">
+  <?php if ($this->layout()->userLang == 'de'): ?>
+    <meta name="description" lang="de" content="<?=$this->translate('adlr_head_description_de')?>">
+  <?php else: ?>
+    <meta name="description" lang="en" content="<?=$this->translate('adlr_head_description_en')?>">
+  <?php endif; ?>
   <meta name="keywords" lang="de" content="<?=$this->translate('adlr_head_keywords_de')?>">
   <meta name="keywords" lang="en" content="<?=$this->translate('adlr_head_keywords_en')?>">
   <?php /* END TODO */ ?>
diff --git a/themes/fid_adlr/templates/record/view.phtml b/themes/fid_adlr/templates/record/view.phtml
index 2e93cf7004d..9af2c151ac5 100644
--- a/themes/fid_adlr/templates/record/view.phtml
+++ b/themes/fid_adlr/templates/record/view.phtml
@@ -50,7 +50,7 @@
     <?=$this->searchMemory()->getLastSearchLink($link)?>
     <?=$this->driver->supportsCoinsOpenURL()?'<span class="Z3988" title="' . $this->escapeHtmlAttr($this->driver->getCoinsOpenURL()) . '"></span>':''?>
   </div>
-
+</div>
 <?= $this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, '$(document).ready(recordDocReady);', 'SET'); ?>
 
 <?php /* fid_adlr: add specific adlr JS #19260, #17831 */ ?>
diff --git a/themes/fid_adlr/templates/search/advanced/ranges.phtml b/themes/fid_adlr/templates/search/advanced/ranges.phtml
deleted file mode 100644
index 428579c4870..00000000000
--- a/themes/fid_adlr/templates/search/advanced/ranges.phtml
+++ /dev/null
@@ -1,86 +0,0 @@
-<!-- fid_adlr: search - advanced - ranges -->
-<?php if (isset($this->ranges) && !empty($this->ranges)): ?>
-  <?php $params = $this->searchParams($this->searchClassId); ?>
-  <?php foreach ($this->ranges as $current): $escField = $this->escapeHtmlAttr($current['field']); ?>
-    <?php /* finc adds 'max="'.(date('Y')+1).' to prevent dates beyond the year + 1 to be entered; maxlength was causing w3c issues  */ ?>
-    <?php $extraInputAttribs = ($current['type'] == 'date') ? 'max="'.(date('Y')+1).'" ' : ''; ?>
-    <fieldset class="range">
-      <legend><?=$this->transEsc($params->getFacetLabel($current['field']))?></legend>
-      <input type="hidden" name="<?=$this->escapeHtmlAttr($current['type'])?>range[]" value="<?=$escField?>"/>
-      <div class="date-fields">
-        <div class="date-from">
-          <?php /* finc adds id for labels */ ?>
-          <label id="from-label" for="<?=$escField?>from"><?=$this->transEsc('date_from')?>:</label>
-          <?php /* fid_adlr: remove type="number" #22461 */ ?>
-          <input name="<?=$escField?>from" id="<?=$escField?>from" value="<?=isset($current['values'][0])?$this->escapeHtmlAttr($current['values'][0]):''?>" class="form-control" <?=$extraInputAttribs?>/>
-        </div>
-        <div class="date-to">
-          <label id="to-label" for="<?=$escField?>to"><?=$this->transEsc('date_to')?>:</label>
-          <?php /* fid_adlr: remove type="number" #22461 */ ?>
-          <input name="<?=$escField?>to" id="<?=$escField?>to" value="<?=isset($current['values'][1])?$this->escapeHtmlAttr($current['values'][1]):''?>" class="form-control" <?=$extraInputAttribs?>/>
-        </div>
-      </div>
-      <?php if ($current['type'] == 'date'): ?>
-        <div class="slider-container">
-          <?php /* finc adds label */ ?>
-          <label for="<?=$escField?><?=$this->escapeHtmlAttr($current['type'])?>Slider"><?=$this->transEsc('Range-from-to')?>:</label>
-          <input type="text" id="<?=$escField?><?=$this->escapeHtmlAttr($current['type'])?>Slider">
-        </div>
-        <?php
-          $this->headScript()->appendFile('vendor/bootstrap-slider.min.js');
-          $this->headLink()->appendStylesheet('vendor/bootstrap-slider.min.css');
-          $min = !empty($current['values'][0]) ? min($current['values'][0], 1400) : 1400;
-          $future = date('Y', time() + 31536000);
-          $max = !empty($current['values'][1]) ? max($future, $current['values'][1]) : $future;
-          $low = !empty($current['values'][0]) ? $current['values'][0] : $min;
-          $high = !empty($current['values'][1]) ? $current['values'][1] : $max;
-          $min = intval($min);
-          $max = intval($max);
-          $low = intval($low);
-          $high = intval($high);
-          $init = !empty($current['values'][0]) ? 'fillTexts()' : '';
-          $script = <<<JS
-$(document).ready(function() {
-  var fillTexts = function() {
-    var v = {$escField}dateSlider.getValue();
-    $('#${escField}from').val(v[0]);
-    $('#${escField}to').val(v[1]);
-  };
-  var {$escField}dateSlider = $('#{$escField}dateSlider')
-    .slider({
-       'min':{$min},
-       'max':{$max},
-       'handle':"square",
-       'tooltip':"hide",
-       'value':[{$low},{$high}]
-    })
-    .on('change', fillTexts)
-    .data('slider');
-  {$init}
-});
-
-$('#{$escField}from, #{$escField}to').change(function () {
-  var fromValue = Number($('#{$escField}from').val());
-  var toValue = Number($('#{$escField}to').val());
-  $('#{$escField}dateSlider').slider(
-    'setValue',
-    [
-      isNaN(fromValue) || fromValue <= 0 ? {$min} : fromValue,
-      isNaN(toValue) || toValue <= 0 ? {$max} : toValue
-    ],
-    true
-  );
-});
-// finc adds label reference
-$(document).ready(function() {
-  $(".slider-handle.min-slider-handle").attr("aria-labelledby", "from-label");
-  $(".slider-handle.max-slider-handle").attr("aria-labelledby", "to-label");
-});
-JS;
-        ?>
-        <?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $script, 'SET'); ?>
-      <?php endif; ?>
-    </fieldset>
-  <?php endforeach; ?>
-<?php endif; ?>
-<!-- fid_adlr: search - advanced - ranges - END -->
\ No newline at end of file
diff --git a/themes/fid_adlr/templates/search/advanced_search_information.phtml b/themes/fid_adlr/templates/search/advanced_search_information.phtml
index 7b7a21444cf..e8b89b07a5d 100644
--- a/themes/fid_adlr/templates/search/advanced_search_information.phtml
+++ b/themes/fid_adlr/templates/search/advanced_search_information.phtml
@@ -20,7 +20,7 @@ $advSearch = $options->getAdvancedSearchAction();
 <?php if ($searchType == 'advanced'): ?>
   <div id="advanced_search_info">
     <div class="alert alert-success">
-      <?=$this->transEsc("Your search terms")?> : "<strong><?=$this->escapeHtml($lookfor)?></strong>"</p>
+      <?=$this->transEsc("Your search terms")?> : "<strong><?=$this->escapeHtml($lookfor)?></strong>"
     </div>
     <a href="<?=$this->url($advSearch)?>?edit=<?=$this->escapeHtmlAttr($searchId)?>" class="btn btn-primary">
       <?=$this->transEsc("Edit this Advanced Search")?>
diff --git a/themes/fid_adlr/templates/search/controls/grouping.phtml b/themes/fid_adlr/templates/search/controls/grouping.phtml
index 251697125f1..17096450488 100644
--- a/themes/fid_adlr/templates/search/controls/grouping.phtml
+++ b/themes/fid_adlr/templates/search/controls/grouping.phtml
@@ -8,7 +8,7 @@ if ($this->results instanceof Results): ?>
     </div>
     <div class="facet">
       <form class="form-inline search-grouping" action="<?= $this->currentPath() ?>"
-          method="POST" id=grouping">
+          method="POST" id="grouping">
         <input type="checkbox" name="grouping-enabled" class="icon <?= $this->grouping ? 'icon-check' : 'icon-square' ?>" value=""
           id="grouping-checkbox" <?php if ($this->grouping): ?>checked<?php endif; ?>/>
         <label for="grouping-checkbox">
diff --git a/themes/fid_adlr/templates/search/controls/limit-offcanvas.phtml b/themes/fid_adlr/templates/search/controls/limit-offcanvas.phtml
index 6186fdb1d5c..54b0c4f719c 100644
--- a/themes/fid_adlr/templates/search/controls/limit-offcanvas.phtml
+++ b/themes/fid_adlr/templates/search/controls/limit-offcanvas.phtml
@@ -6,8 +6,8 @@
   <form action="<?=$this->currentPath() . $this->results->getUrlQuery()->setLimit(null)?>" method="post">
     <?php /* finc: DO NOT use class 'form-control' as it messes up the select box */ ?>
     <?php /* fid_adlr: remove id="limit" #18818 */ ?>
-    <select name="limit" class="jumpMenu">
-      <option disabled selected><?=$this->transEsc('Results per page')?></option>
+    <select name="limit" class="jumpMenu" aria-label="<?=$this->transEsc('Results per page')?>">
+      <option disabled><?=$this->transEsc('Results per page')?></option>
       <?php foreach ($limitList as $limitVal => $limitData): ?>
         <option value="<?=$this->escapeHtmlAttr($limitVal)?>" <?=$limitData['selected'] ? ' selected="selected" ' : '' ?>>
             <?=$this->escapeHtml($limitData['desc'])?> <?=$this->transEsc('Results per page')?>
diff --git a/themes/fid_adlr/templates/search/controls/sort-offcanvas.phtml b/themes/fid_adlr/templates/search/controls/sort-offcanvas.phtml
index 155da33b499..7dfffb5c6df 100644
--- a/themes/fid_adlr/templates/search/controls/sort-offcanvas.phtml
+++ b/themes/fid_adlr/templates/search/controls/sort-offcanvas.phtml
@@ -4,8 +4,8 @@ if (!empty($list)): ?>
   <form action="<?= $this->currentPath() ?>" method="get" name="sort" class="margin-btm">
     <?= $this->results->getUrlQuery()->asHiddenFields(['sort' => '/.*/']); ?>
     <?php /* finc: DO NOT use class 'form-control' as it messes up the select box */ ?>
-    <select name="sort" class="jumpMenu">
-      <option disabled selected><?= $this->transEsc('Sort') ?></option>
+    <select name="sort" class="jumpMenu" aria-label="<?= $this->transEsc('Sort') ?>">
+      <option disabled><?= $this->transEsc('Sort') ?></option>
         <?php foreach ($list as $sortType => $sortData): ?>
           <option value="<?= $this->escapeHtmlAttr($sortType) ?>" <?= $sortData['selected'] ? ' selected="selected"' : '' ?>><?= $this->transEsc($sortData['desc']) ?></option>
         <?php endforeach; ?>
diff --git a/themes/fid_adlr/templates/search/results.phtml b/themes/fid_adlr/templates/search/results.phtml
index 6c963cf6103..69d7d50df0e 100644
--- a/themes/fid_adlr/templates/search/results.phtml
+++ b/themes/fid_adlr/templates/search/results.phtml
@@ -90,12 +90,12 @@
     <?php /* finc: use spans for easier to show/hide choices - CK */ ?>
       <div class="search-controls">
         <?php /* adlr: KEEP HIDDEN classes -- limit and sort are displayed in the filters on XS/SM - CK */ ?>
-        <span class="limit hidden-xs hidden-sm">
+        <div class="limit hidden-xs hidden-sm">
           <?=$this->render('search/controls/limit.phtml')?>
-        </span>
-        <span class="sort hidden-xs hidden-sm">
+        </div>
+        <div class="sort hidden-xs hidden-sm">
           <?=$this->render('search/controls/sort.phtml')?>
-        </span>
+        </div>
         <?php /* fid_adlr: use VuFind ResultGrouping #21281 */ ?>
         <?php /*= $this->render('search/controls/grouping') */ ?>
         <?php /* fid_adlr: add span "mailsave" for fixing position of action buttons #21511 */ ?>
diff --git a/themes/fid_adlr/templates/search/searchbox.phtml b/themes/fid_adlr/templates/search/searchbox.phtml
index ebcf57d710a..75869e74f4e 100644
--- a/themes/fid_adlr/templates/search/searchbox.phtml
+++ b/themes/fid_adlr/templates/search/searchbox.phtml
@@ -82,9 +82,9 @@
                 <!-- this is a hidden element that flags whether or not default filters have been applied;
                    it is intentionally unlabeled, as users are not meant to manipulate it directly. -->
                 <input class="applied-filter" id="dfApplied" type="checkbox" name="dfApplied" value="1"<?=$defaultFilterState?> />
+              <?php endif; ?>
             </div>
           </li>
-          <?php endif; ?>
         </ul>
       </li>
       <?php endif; ?>
@@ -92,7 +92,7 @@
       <li class="find-button">
         <?php /* fid_adlr: add extra span and tabindex #17913 */ ?>
         <button tabindex="0" type="submit" class="btn btn-lg">
-          <span tabindex="-1" class="find-label btn__content">
+          <span class="find-label btn__content">
             <span class="text"><?=$this->transEsc("Find")?></span>
           </span>
         </button>
@@ -130,20 +130,6 @@
         isset($this->checkboxFilters) && is_array($this->checkboxFilters) ? $this->checkboxFilters : []
       );
     ?>
-    <?php if ((isset($hasDefaultsApplied) && $hasDefaultsApplied) || !empty($filterDetails)): ?>
-      <?php $defaultFilterState = $options->getRetainFilterSetting() ? ' checked="checked"' : ''; ?>
-      <div class="hidden">
-        <?php foreach ($filterDetails as $current): ?>
-          <input class="applied-filter" id="<?=$this->escapeHtmlAttr($current['id'])?>" type="checkbox"<?=$defaultFilterState?> name="filter[]" value="<?=$this->escapeHtmlAttr($current['value'])?>"/>
-          <label for="<?=$this->escapeHtmlAttr($current['id'])?>"><?=$this->escapeHtml($current['value'])?></label>
-        <?php endforeach; ?>
-        <?php if (isset($hasDefaultsApplied) && $hasDefaultsApplied): ?>
-          <!-- this is a hidden element that flags whether or not default filters have been applied;
-             it is intentionally unlabeled, as users are not meant to manipulate it directly. -->
-          <input class="applied-filter" id="dfApplied" type="checkbox" name="dfApplied" value="1"<?=$defaultFilterState?> />
-        <?php endif; ?>
-      </div>
-    <?php endif; ?>
     <?php
     /* Show hidden field for active search class when in combined handler mode. */
     if ($this->searchbox()->combinedHandlersActive()) {
-- 
GitLab