Come realizzare un componente di paginazione accessibile
Quando abbiamo un elenco di prodotti o news, oppure una lista di risultati di ricerca, può essere molto utile inserire un componente per la paginazione, cioè per dividere la visualizzazione in più pagine numeriche che l’utente può scorrere. Per l’accessibilità, suggerirei di evitare lo scroll infinito o il “carica altri” che aggiunge tramite AJAX elementi in tempo reale, che diventano molto difficili per l’utente da consultare e possono creare confusione.
Anche in questo caso troviamo l’uso degli elementi <nav>, <ul>, <li>, e degli attributi aria-current e aria-label. L’ultimo <li> contiene il link per la pagina successiva, generalmente indicata da una freccia verso destra.
Codice PHP
Questo è il codice PHP che richiama la paginazione tramite le funzioni di WordPress:
<?php
the_posts_pagination([
'screen_reader_text' => __('Navigazione elementi', 'acme'),
'aria_label' => __('Paginazione', 'acme'),
'mid_size' => 2,
'end_size' => 3,
/* translators: %s here are html tags */
'prev_text' => __(sprintf('%sElementi precedenti%s', '<span class="visually-hidden">', '</span>'), 'acme'),
/* translators: %s here are html tags */
'next_text' => __(sprintf('%sElementi successivi%s', '<span class="visually-hidden">', '</span>'), 'acme'),
'type' => 'list'
]);
?>
Questa funzione the_posts_pagination si occupa di generare già l’HTML necessario, possiamo comunque intervenire per migliorare l’accessibilità.