From 5aae91f25193868d6c19e8cebdb0d025af022420 Mon Sep 17 00:00:00 2001
From: Claas Kazzer <kazzer@uni-leipzig.de>
Date: Tue, 21 Sep 2021 14:00:04 +0200
Subject: [PATCH] refs #19934 [finc] Aria for Side Facets: adds explanatory
 sr-only text to facets

---
 local/languages/de.ini                                      | 6 ++++--
 local/languages/en.ini                                      | 6 ++++--
 .../templates/Recommend/SideFacets/filter-list.phtml        | 2 +-
 themes/finc/templates/Recommend/SideFacets.phtml            | 2 +-
 .../finc/templates/Recommend/SideFacets/single-facet.phtml  | 5 ++++-
 5 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/local/languages/de.ini b/local/languages/de.ini
index 7092464c25b..42b91c5cbb6 100644
--- a/local/languages/de.ini
+++ b/local/languages/de.ini
@@ -732,6 +732,8 @@ export_selected_favorites = "Ausgewählte Favoriten exportieren"
 export_success = "Export abgeschlossen"
 export_unsupported_format = "Nichtunterstütztes Exportformat"
 external = "außer Haus"
+facet_select_hint = "Zum Einschränken der Ergebnisse können Sie unter folgenden Filtern wählen:"
+facet_deselect_hint = "Zum Aufheben der Filterfunktion wählen Sie einen oder alle der folgenden Filtern ab:"
 fav_delete = "Ausgewählte Favoriten löschen"
 fav_delete_deleting = "Ihre ausgewählten Favoriten werden gelöscht."
 fav_delete_fail = "Leider ist ein Fehler aufgetreten. Ihre ausgewählten Favoriten wurden nicht gelöscht."
@@ -881,8 +883,8 @@ online_resources = "Sonstige"
 or = "oder"
 create a new list = "erstellen Sie eine neue Liste"
 page_reload_hint = "Seite wird neu geladen"
-page_reload_on_select_hint = "Seite wird bei Auswahl des Filters "%%filter_name%%" neu geladen"
-page_reload_on_deselect_hint = "Seite wird neu geladen, wenn der Filter "%%filter_name%%" abgewählt wird"
+page_reload_on_select_hint = "Seite wird bei Auswahl des Filters '%%filter_name%%' neu geladen"
+page_reload_on_deselect_hint = "Seite wird neu geladen, wenn der Filter '%%filter_name%%' abgewählt wird"
 password_too_short = "Zu kurz"
 password_very_weak = "Sehr schwach"
 password_weak = "Schwach"
diff --git a/local/languages/en.ini b/local/languages/en.ini
index 72aea8c0e21..d994b121481 100644
--- a/local/languages/en.ini
+++ b/local/languages/en.ini
@@ -716,6 +716,8 @@ export_selected = "Export Selected"
 export_selected_favorites = "Export Selected Favorites"
 export_success = "Export Complete"
 export_unsupported_format = "Unsupported Export Format"
+facet_select_hint = "Please select from the following filters to narrow down search results:"
+facet_deselect_hint = "Please de-select one or all of the following filters to widen search results:"
 fav_delete = "Delete Selected Favorites"
 fav_delete_deleting = "Your favorite(s) are being deleted."
 fav_delete_fail = "Sorry, an error has occurred. Your favorite(s) were not deleted."
@@ -843,8 +845,8 @@ on_reserve = "Reserves - Please contact staff"
 online_resources = "Online Resources"
 create a new list = "Create a New List"
 page_reload_hint = "Page will refresh immediately"
-page_reload_on_select_hint = "Page will refresh when filter "%%filter_name%%" is selected"
-page_reload_on_deselect_hint = "Page will refresh when filter "%%filter_name%%" is deselected"
+page_reload_on_select_hint = "Page will refresh when filter '%%filter_name%%' is selected"
+page_reload_on_deselect_hint = "Page will refresh when filter '%%filter_name%%' is deselected"
 password_too_short = "Too short"
 password_very_weak = "Very weak"
 password_weak = "Weak"
diff --git a/themes/finc-accessibility/templates/Recommend/SideFacets/filter-list.phtml b/themes/finc-accessibility/templates/Recommend/SideFacets/filter-list.phtml
index 2abcc73899e..3957f6ba12e 100644
--- a/themes/finc-accessibility/templates/Recommend/SideFacets/filter-list.phtml
+++ b/themes/finc-accessibility/templates/Recommend/SideFacets/filter-list.phtml
@@ -1,7 +1,7 @@
 <!-- finc-accessibility - Recommend - SideFacets - filter-list.phtml -->
 <?php /* #18509 copied from bootstrap for adding language tags to displayText */ ?>
 <div class="facet-group active-filters">
-  <div class="title"><?=$this->transEsc('Remove Filters')?></div>
+  <div class="title"><?=$this->transEsc('Remove Filters')?> <span class="sr-only"><?=$this->transEsc('facet_deselect_hint') ?></div>
   <ul>
   <?php foreach ($filterList as $field => $filters): ?>
     <?php foreach ($filters as $i => $filter): ?>
diff --git a/themes/finc/templates/Recommend/SideFacets.phtml b/themes/finc/templates/Recommend/SideFacets.phtml
index 361ead35a15..7f3e1191489 100644
--- a/themes/finc/templates/Recommend/SideFacets.phtml
+++ b/themes/finc/templates/Recommend/SideFacets.phtml
@@ -56,7 +56,7 @@ if ($hierarchicalFacets) {
   <?php foreach ($sideFacetSet as $title => $cluster): ?>
     <div class="facet-group" id="side-panel-<?=$this->escapeHtmlAttr($title)?>">
       <button class="title<?php if(in_array($title, $collapsedFacets)): ?> collapsed<?php endif ?>" data-toggle="collapse" href="#side-collapse-<?=$this->escapeHtmlAttr($title) ?>" >
-        <?=$this->transEsc($cluster['label'])?>
+        <?=$this->transEsc($cluster['label'])?> <span class="sr-only"><?=$this->transEsc('facet_select_hint') ?></span>
       </button>
       <ul id="side-collapse-<?=$this->escapeHtmlAttr($title)?>" class="collapse<?php if (!in_array($title, $collapsedFacets)): ?> in<?php endif ?>">
         <?=$this->context($this)->renderInContext(
diff --git a/themes/finc/templates/Recommend/SideFacets/single-facet.phtml b/themes/finc/templates/Recommend/SideFacets/single-facet.phtml
index d82632dc70a..9f0ebf61886 100644
--- a/themes/finc/templates/Recommend/SideFacets/single-facet.phtml
+++ b/themes/finc/templates/Recommend/SideFacets/single-facet.phtml
@@ -52,10 +52,13 @@
        data-count="<?=$this->facet['count'] ?>"
        title="<?php if($this->facet['isApplied']): ?><?=$this->transEsc('applied_filter')?> - <?=$this->transEsc('page_reload_on_deselect_hint', ['%%filter_name%%' => $this->facet['displayText']])?> <?=$this->escapeHtmlAttr($this->facet['displayText']) ?><?php else: ?><?=$this->transEsc('page_reload_on_select_hint', ['%%filter_name%%' => $this->facet['displayText']])?><?php endif;?>">
       <?=$displayText ?>
+      <span class="sr-only">
+        <?php if($this->facet['isApplied']): ?>(<?=$this->transEsc('applied_filter')?> - <?=$this->transEsc('page_reload_on_deselect_hint', ['%%filter_name%%' => $this->facet['displayText']])?> <?=$this->escapeHtmlAttr($this->facet['displayText']) ?>)<?php else: ?>(<?=$this->transEsc('page_reload_on_select_hint', ['%%filter_name%%' => $this->facet['displayText']])?>)<?php endif;?>
+      </span>
     </a>
   <?php else: ?>
     <span class="text">
-      <?=$displayText ?>
+      <?=$displayText ?><span class="sr-only"><?php if($this->facet['isApplied']): ?>(<?=$this->transEsc('applied_filter')?> - <?=$this->transEsc('page_reload_on_deselect_hint', ['%%filter_name%%' => $this->facet['displayText']])?>)<?php else: ?>(<?=$this->transEsc('page_reload_on_select_hint', ['%%filter_name%%' => $this->facet['displayText']])?>)<?php endif;?></span>
     </span>
   <?php endif; ?>
 
-- 
GitLab