From f484241df82c33ea9ade4179487e82e99a41cf93 Mon Sep 17 00:00:00 2001
From: Cerdic <cedric@yterium.com>
Date: Wed, 31 Mar 2021 13:28:02 +0200
Subject: [PATCH] Ajouter des aria-label sur les liens de pagination + chaines
 de langue associees #2822 #3230

---
 ecrire/lang/spip_fr.php       |  6 ++++++
 prive/modeles/pagination.html | 17 ++++++++++-------
 2 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/ecrire/lang/spip_fr.php b/ecrire/lang/spip_fr.php
index 4262a624e2..1bdcfa653a 100644
--- a/ecrire/lang/spip_fr.php
+++ b/ecrire/lang/spip_fr.php
@@ -437,6 +437,7 @@ le site "@nom_site_spip@" (@adresse_login@) :',
 	'info_nouveaux_messages' => 'VOUS AVEZ @total_messages@ NOUVEAUX MESSAGES',
 	'info_numero_abbreviation' => 'N° ',
 	'info_obligatoire' => 'Cette information est obligatoire',
+	'info_page_actuelle' => 'Page actuelle',
 	'info_pense_bete' => 'PENSE-BÊTE',
 	'info_petit_ecran' => 'Petit écran',
 	'info_petition_close' => 'Pétition close',
@@ -491,6 +492,11 @@ le site "@nom_site_spip@" (@adresse_login@) :',
 	'lien_afficher_icones_seuls' => 'Afficher uniquement les icones',
 	'lien_afficher_texte_icones' => 'Afficher les icones et le texte',
 	'lien_afficher_texte_seul' => 'Afficher uniquement le texte',
+	'lien_aller_a_la_page_nb' => 'Aller à la page @nb@',
+	'lien_aller_a_la_premiere_page' => 'Aller à la première page',
+	'lien_aller_a_la_derniere_page' => 'Aller à la dernière page',
+	'lien_aller_a_la_page_precedente' => 'Aller à la page précédente',
+	'lien_aller_a_la_page_suivante' => 'Aller à la page suivante',
 	'lien_liberer' => 'libérer',
 	'lien_liberer_tous' => 'Tout libérer',
 	'lien_nouvea_pense_bete' => 'NOUVEAU PENSE-BÊTE',
diff --git a/prive/modeles/pagination.html b/prive/modeles/pagination.html
index f99281f404..13adbe7cd1 100644
--- a/prive/modeles/pagination.html
+++ b/prive/modeles/pagination.html
@@ -12,14 +12,14 @@
 		[<li class="pagination-item prev[(#ENV{page_courante}|<={1}|oui)disabled]">(#ENV{url_precedent,#ENV{url}
 				|parametre_url{#ENV{debut},#GET{item}|?{#GET{item}}}}
 				|ancre_url{#ENV{ancre}}
-				|lien_ou_expose{#ENV{label_precedent,#GET{type}|pagination_affiche_page{prev,#GET{item}}},#ENV{page_courante}|<={1}|?{span.pagination-lien},'pagination-lien lien_pagination','',nofollow}
+				|lien_ou_expose{#ENV{label_precedent,#GET{type}|pagination_affiche_page{prev,#GET{item}}},#ENV{page_courante}|<={1}|?{span.pagination-lien},'pagination-lien lien_pagination','',prev nofollow}
+				|inserer_attribut{aria-label,<:lien_aller_a_la_page_precedente:>}
 				|inserer_attribut{title,<:public:page_precedente:>}
-				|inserer_attribut{rel,prev}
 				)</li>]
 		]
 		[<li class="pagination-item"><a
 	      href="[(#ENV{url}|parametre_url{#ENV{debut},''}|ancre_url{#ENV{ancre}})]"
-				class="pagination-lien lien_pagination"
+				class="pagination-lien lien_pagination" aria-label="<:lien_aller_a_la_premiere_page|attribut_html:>"
 				rel="nofollow">(#GET{premiere}|>{1}|?{#GET{type}|pagination_affiche_page{1,0}})</a></li><li
 				class="pagination-item tbc disabled"><span class="pagination-lien">...</span></li>]
 
@@ -28,14 +28,16 @@
 		][<li class="pagination-item[(#VALEUR|=={#ENV{page_courante}}|oui)on active]">(#ENV{url}
 		|parametre_url{#ENV{debut},#GET{item}|?{#GET{item}}}
 		|ancre_url{#ENV{ancre}}
-		|lien_ou_expose{#GET{type}|pagination_affiche_page{#VALEUR,#GET{item}},#VALEUR|=={#ENV{page_courante}}|?{span.pagination-lien},pagination-lien lien_pagination,'',nofollow})</li>]
+		|lien_ou_expose{#GET{type}|pagination_affiche_page{#VALEUR,#GET{item}},#VALEUR|=={#ENV{page_courante}}|?{span.pagination-lien},pagination-lien lien_pagination,'',nofollow}
+		|inserer_attribut{aria-label,[(#VAL{lien_aller_a_la_page_nb}|_T{#ARRAY{nb,#VALEUR}}|concat{[ \((#VALEUR|=={#ENV{page_courante}}|?{<:info_page_actuelle:>})\)]})]}
+			)</li>]
 		</BOUCLE_pages>
 
 		[<li class="pagination-item tbc disabled"><span class="pagination-lien">...</span></li>
 		#SET{item, #ENV{nombre_pages}|moins{1}|mult{#ENV{pas}}}
 		<li class="pagination-item"><a
 		  href="[(#ENV{url}|parametre_url{#ENV{debut},#GET{item}}|ancre_url{#ENV{ancre}})]"
-		  class="pagination-lien lien_pagination"
+		  class="pagination-lien lien_pagination" aria-label="<:lien_aller_a_la_derniere_page|attribut_html:>"
 		  rel="nofollow">(#GET{derniere}|<{#ENV{nombre_pages}}|?{#GET{type}|pagination_affiche_page{#ENV{nombre_pages},#GET{item}}})</a></li>]
 
 		[(#ENV{afficher_lien_tous,0}|ou{#GET{type}|=={prive}}|oui)
@@ -43,6 +45,7 @@
 			|parametre_url{#ENV{debut},-1}
 			|ancre_url{#ENV{ancre}}
 			|lien_ou_expose{#ENV{label_tous,#GET{type}|pagination_affiche_page{tous,#GET{item}}},#ENV{page_courante}|=={0}|?{span.pagination-lien},pagination-lien lien_pagination,'',nofollow}
+			|inserer_attribut{aria-label,<:lien_tout_afficher:>}
 		  |inserer_attribut{title,<:lien_tout_afficher:>}
 		)</li>]][
 		(#ENV{afficher_lien_suivant,0}|ou{#GET{type}|=={page_precedent_suivant}})
@@ -50,9 +53,9 @@
 		[<li class="pagination-item next[(#ENV{page_courante}|>={#ENV{nombre_pages}}|oui)disabled]">(#ENV{url_suivant,#ENV{url}
 				|parametre_url{#ENV{debut},#GET{item}|?{#GET{item}}}}
 				|ancre_url{#ENV{ancre}}
-				|lien_ou_expose{#ENV{label_suivant,#GET{type}|pagination_affiche_page{next,#GET{item}}},#ENV{page_courante}|>={#ENV{nombre_pages}}|?{span.pagination-lien},'pagination-lien lien_pagination','',nofollow}
+				|lien_ou_expose{#ENV{label_suivant,#GET{type}|pagination_affiche_page{next,#GET{item}}},#ENV{page_courante}|>={#ENV{nombre_pages}}|?{span.pagination-lien},'pagination-lien lien_pagination','',next nofollow}
+				|inserer_attribut{aria-label,<:lien_aller_a_la_page_suivante:>}
 				|inserer_attribut{title,<:public:page_suivante:>}
-				|inserer_attribut{rel,next}
 				)</li>]
 		]
 	</ul>
-- 
GitLab