Browse Source

Added screen reader support for pagination (#4380)

* Added screen reader support for pagination

* Updated zh locales

* added theme support
Dustin Utecht 6 years ago
parent
commit
e63dc4c613
54 changed files with 464 additions and 14 deletions
  1. 18 0
      site/docs/api/localizations.md
  2. 4 4
      src/bootstrap-table.js
  3. 11 2
      src/constants/index.js
  4. 9 0
      src/locale/bootstrap-table-af-ZA.js
  5. 9 0
      src/locale/bootstrap-table-ar-SA.js
  6. 9 0
      src/locale/bootstrap-table-ca-ES.js
  7. 9 0
      src/locale/bootstrap-table-cs-CZ.js
  8. 9 0
      src/locale/bootstrap-table-da-DK.js
  9. 13 4
      src/locale/bootstrap-table-de-DE.js
  10. 9 0
      src/locale/bootstrap-table-el-GR.js
  11. 9 0
      src/locale/bootstrap-table-en-US.js
  12. 9 0
      src/locale/bootstrap-table-es-AR.js
  13. 9 0
      src/locale/bootstrap-table-es-CL.js
  14. 9 0
      src/locale/bootstrap-table-es-CR.js
  15. 9 0
      src/locale/bootstrap-table-es-ES.js
  16. 9 0
      src/locale/bootstrap-table-es-MX.js
  17. 9 0
      src/locale/bootstrap-table-es-NI.js
  18. 9 0
      src/locale/bootstrap-table-es-SP.js
  19. 9 0
      src/locale/bootstrap-table-et-EE.js
  20. 9 0
      src/locale/bootstrap-table-eu-EU.js
  21. 9 0
      src/locale/bootstrap-table-fa-IR.js
  22. 9 0
      src/locale/bootstrap-table-fi-FI.js
  23. 9 0
      src/locale/bootstrap-table-fr-BE.js
  24. 9 0
      src/locale/bootstrap-table-fr-FR.js
  25. 9 0
      src/locale/bootstrap-table-he-IL.js
  26. 9 0
      src/locale/bootstrap-table-hr-HR.js
  27. 9 0
      src/locale/bootstrap-table-hu-HU.js
  28. 9 0
      src/locale/bootstrap-table-id-ID.js
  29. 9 0
      src/locale/bootstrap-table-it-IT.js
  30. 9 0
      src/locale/bootstrap-table-ja-JP.js
  31. 9 0
      src/locale/bootstrap-table-ka-GE.js
  32. 9 0
      src/locale/bootstrap-table-ko-KR.js
  33. 9 0
      src/locale/bootstrap-table-ms-MY.js
  34. 9 0
      src/locale/bootstrap-table-nb-NO.js
  35. 9 0
      src/locale/bootstrap-table-nl-NL.js
  36. 9 0
      src/locale/bootstrap-table-pl-PL.js
  37. 9 0
      src/locale/bootstrap-table-pt-BR.js
  38. 9 0
      src/locale/bootstrap-table-pt-PT.js
  39. 9 0
      src/locale/bootstrap-table-ro-RO.js
  40. 9 0
      src/locale/bootstrap-table-ru-RU.js
  41. 9 0
      src/locale/bootstrap-table-sk-SK.js
  42. 9 0
      src/locale/bootstrap-table-sv-SE.js
  43. 9 0
      src/locale/bootstrap-table-th-TH.js
  44. 9 0
      src/locale/bootstrap-table-tr-TR.js
  45. 9 0
      src/locale/bootstrap-table-uk-UA.js
  46. 9 0
      src/locale/bootstrap-table-ur-PK.js
  47. 9 0
      src/locale/bootstrap-table-uz-Latn-UZ.js
  48. 9 0
      src/locale/bootstrap-table-vi-VN.js
  49. 9 0
      src/locale/bootstrap-table-zh-CN.js
  50. 9 0
      src/locale/bootstrap-table-zh-TW.js
  51. 1 1
      src/themes/bulma/bootstrap-table-bulma.js
  52. 1 1
      src/themes/foundation/bootstrap-table-foundation.js
  53. 1 1
      src/themes/materialize/bootstrap-table-materialize.js
  54. 1 1
      src/themes/semantic/bootstrap-table-semantic.js

+ 18 - 0
site/docs/api/localizations.md

@@ -66,6 +66,24 @@ $('#table').bootstrapTable({
 
 - **Default:** `'Showing %s to %s of %s rows'`
 
+## formatSRPaginationPreText
+
+- **Parameter:** `undefined`
+
+- **Default:** `'previous page'`
+
+## formatSRPaginationPageText
+
+- **Parameter:** `page`
+
+- **Default:** `'to page %s`
+
+## formatSRPaginationNextText
+
+- **Parameter:** `undefined`
+
+- **Default:** `'next page'`
+
 ## formatDetailPagination
 
 - **Parameter:** `totalRows`

+ 4 - 4
src/bootstrap-table.js

@@ -918,7 +918,7 @@ class BootstrapTable {
 
       html.push(`<div class="${this.constants.classes.pull}-${o.paginationHAlign} pagination">`,
         Utils.sprintf(this.constants.html.pagination[0], Utils.sprintf(' pagination-%s', o.iconSize)),
-        Utils.sprintf(this.constants.html.paginationItem, ' page-pre', o.paginationPreText))
+        Utils.sprintf(this.constants.html.paginationItem, ' page-pre', o.formatSRPaginationPreText(), o.paginationPreText))
 
       if (this.totalPages < o.paginationSuccessivelySize) {
         from = 1
@@ -946,7 +946,7 @@ class BootstrapTable {
 
       const middleSize = Math.round(o.paginationPagesBySide / 2)
       const pageItem = (i, classes = '') => Utils.sprintf(this.constants.html.paginationItem,
-        classes + (i === o.pageNumber ? ` ${this.constants.classes.paginationActive}` : ''), i)
+        classes + (i === o.pageNumber ? ` ${this.constants.classes.paginationActive}` : ''), o.formatSRPaginationPageText(i), i)
 
       if (from > 1) {
         let max = o.paginationPagesBySide
@@ -967,7 +967,7 @@ class BootstrapTable {
               html.push(pageItem(i, ' page-intermediate'))
             } else {
               html.push(Utils.sprintf(this.constants.html.paginationItem,
-                ' page-first-separator disabled', '...'))
+                ' page-first-separator disabled', '', '...'))
             }
           }
         }
@@ -1003,7 +1003,7 @@ class BootstrapTable {
         }
       }
 
-      html.push(Utils.sprintf(this.constants.html.paginationItem, ' page-next', o.paginationNextText))
+      html.push(Utils.sprintf(this.constants.html.paginationItem, ' page-next', o.formatSRPaginationNextText(), o.paginationNextText))
       html.push(this.constants.html.pagination[1], '</div>')
     }
     this.$pagination.html(html.join(''))

+ 11 - 2
src/constants/index.js

@@ -50,7 +50,7 @@ const CONSTANTS = {
       pageDropdownItem: '<li role="menuitem" class="%s"><a href="#">%s</a></li>',
       dropdownCaret: '<span class="caret"></span>',
       pagination: ['<ul class="pagination%s">', '</ul>'],
-      paginationItem: '<li class="page-item%s"><a class="page-link" href="#">%s</a></li>',
+      paginationItem: '<li class="page-item%s"><a class="page-link" aria-label="%s" href="javascript:void(0)">%s</a></li>',
       icon: '<i class="%s %s"></i>',
       inputGroup: '<div class="input-group">%s<span class="input-group-btn">%s</span></div>',
       searchInput: '<input class="%s%s" type="text" placeholder="%s">',
@@ -94,7 +94,7 @@ const CONSTANTS = {
       pageDropdownItem: '<a class="dropdown-item %s" href="#">%s</a>',
       dropdownCaret: '<span class="caret"></span>',
       pagination: ['<ul class="pagination%s">', '</ul>'],
-      paginationItem: '<li class="page-item%s"><a class="page-link" href="#">%s</a></li>',
+      paginationItem: '<li class="page-item%s"><a class="page-link" aria-label="%s" href="javascript:void(0)">%s</a></li>',
       icon: '<i class="%s %s"></i>',
       inputGroup: '<div class="input-group">%s<div class="input-group-append">%s</div></div>',
       searchInput: '<input class="%s%s" type="text" placeholder="%s">',
@@ -319,6 +319,15 @@ const EN = {
 
     return `Showing ${pageFrom} to ${pageTo} of ${totalRows} rows`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-af-ZA.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['af-ZA'] = {
 
     return `Resultate ${pageFrom} tot ${pageTo} van ${totalRows} rye`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-ar-SA.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['ar-SA'] = {
 
     return `الظاهر ${pageFrom} إلى ${pageTo} من ${totalRows} سجل`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-ca-ES.js

@@ -18,6 +18,15 @@ $.fn.bootstrapTable.locales['ca-ES'] = {
 
     return `Mostrant de ${pageFrom} fins ${pageTo} - total ${totalRows} resultats`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-cs-CZ.js

@@ -18,6 +18,15 @@ $.fn.bootstrapTable.locales['cs-CZ'] = {
 
     return `Zobrazena ${pageFrom}. - ${pageTo} . položka z celkových ${totalRows}`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-da-DK.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['da-DK'] = {
 
     return `Viser ${pageFrom} til ${pageTo} af ${totalRows} række${(totalRows > 1) ? 'r' : ''}`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Viser ${totalRows} række${(totalRows > 1) ? 'r' : ''}`
   },

+ 13 - 4
src/locale/bootstrap-table-de-DE.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['de-DE'] = {
 
     return `Zeige Zeile ${pageFrom} bis ${pageTo} von ${totalRows} Zeile${(totalRows > 1) ? 'n' : ''}.`
   },
+  formatSRPaginationPreText () {
+    return 'Vorherige Seite'
+  },
+  formatSRPaginationPageText (page) {
+    return `Zu Seite ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'Nächste Seite'
+  },
   formatDetailPagination (totalRows) {
     return `Zeige ${totalRows} Zeile${(totalRows > 1) ? 'n' : ''}.`
   },
@@ -42,13 +51,13 @@ $.fn.bootstrapTable.locales['de-DE'] = {
     return 'Spalten'
   },
   formatFullscreen () {
-    return 'Fullscreen'
+    return 'Vollbild'
   },
   formatAllRows () {
     return 'Alle'
   },
   formatAutoRefresh () {
-    return 'Auto Refresh'
+    return 'Automatisches Neuladen'
   },
   formatExport () {
     return 'Datenexport'
@@ -57,10 +66,10 @@ $.fn.bootstrapTable.locales['de-DE'] = {
     return 'GO'
   },
   formatAdvancedSearch () {
-    return 'Advanced search'
+    return 'Erweiterte Suche'
   },
   formatAdvancedCloseButton () {
-    return 'Close'
+    return 'Schließen'
   }
 }
 

+ 9 - 0
src/locale/bootstrap-table-el-GR.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['el-GR'] = {
 
     return `Εμφανίζονται από την ${pageFrom} ως την ${pageTo} από σύνολο ${totalRows} σειρών`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-en-US.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['en-US'] = {
 
     return `Showing ${pageFrom} to ${pageTo} of ${totalRows} rows`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-es-AR.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['es-AR'] = {
 
     return `Mostrando ${pageFrom} a ${pageTo} de ${totalRows} filas`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-es-CL.js

@@ -18,6 +18,15 @@ $.fn.bootstrapTable.locales['es-CL'] = {
 
     return `Mostrando ${pageFrom} a ${pageTo} de ${totalRows} filas`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-es-CR.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['es-CR'] = {
 
     return `Mostrando de ${pageFrom} a ${pageTo} registros de ${totalRows} registros en total`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-es-ES.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['es-ES'] = {
 
     return `Mostrando desde ${pageFrom} hasta ${pageTo} - En total ${totalRows} resultados`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-es-MX.js

@@ -19,6 +19,15 @@ $.fn.bootstrapTable.locales['es-MX'] = {
 
     return `Mostrando ${pageFrom} a ${pageTo} de ${totalRows} filas`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Mostrando ${totalRows} filas`
   },

+ 9 - 0
src/locale/bootstrap-table-es-NI.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['es-NI'] = {
 
     return `Mostrando de ${pageFrom} a ${pageTo} registros de ${totalRows} registros en total`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-es-SP.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['es-SP'] = {
 
     return `${pageFrom} - ${pageTo} de ${totalRows} registros.`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-et-EE.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['et-EE'] = {
 
     return `Näitan tulemusi ${pageFrom} kuni ${pageTo} - kokku ${totalRows} tulemust`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-eu-EU.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['eu-EU'] = {
 
     return `${totalRows} erregistroetatik ${pageFrom}etik ${pageTo}erakoak erakusten.`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-fa-IR.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['fa-IR'] = {
 
     return `نمایش ${pageFrom} تا ${pageTo} از ${totalRows} ردیف`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-fi-FI.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['fi-FI'] = {
 
     return `Näytetään rivit ${pageFrom} - ${pageTo} / ${totalRows}`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-fr-BE.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['fr-BE'] = {
 
     return `Affiche de${pageFrom} à ${pageTo} sur ${totalRows} lignes`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-fr-FR.js

@@ -18,6 +18,15 @@ $.fn.bootstrapTable.locales['fr-FR'] = {
 
     return `Affichage des lignes ${pageFrom} à ${pageTo} sur ${totalRows} lignes au total`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-he-IL.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['he-IL'] = {
 
     return `מציג ${pageFrom} עד ${pageTo} מ-${totalRows} שורות`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-hr-HR.js

@@ -18,6 +18,15 @@ $.fn.bootstrapTable.locales['hr-HR'] = {
 
     return `Prikazujem ${pageFrom}. - ${pageTo}. od ukupnog broja zapisa ${totalRows}`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-hu-HU.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['hu-HU'] = {
 
     return `Megjelenítve ${pageFrom} - ${pageTo} / ${totalRows} összesen`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-id-ID.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['id-ID'] = {
 
     return `Menampilkan ${pageFrom} sampai ${pageTo} dari ${totalRows} baris`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-it-IT.js

@@ -19,6 +19,15 @@ $.fn.bootstrapTable.locales['it-IT'] = {
 
     return `Visualizzazione da ${pageFrom} a ${pageTo} di ${totalRows} elementi`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-ja-JP.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['ja-JP'] = {
 
     return `全${totalRows}件から、${pageFrom}から${pageTo}件目まで表示しています`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-ka-GE.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['ka-GE'] = {
 
     return `ნაჩვენებია ${pageFrom}-დან ${pageTo}-მდე ჩანაწერი ჯამური ${totalRows}-დან`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-ko-KR.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['ko-KR'] = {
 
     return `전체 ${totalRows}개 중 ${pageFrom}~${pageTo}번째 데이터 출력,`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-ms-MY.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['ms-MY'] = {
 
     return `Sedang memaparkan rekod ${pageFrom} hingga ${pageTo} daripada jumlah ${totalRows} rekod`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-nb-NO.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['nb-NO'] = {
 
     return `Viser ${pageFrom} til ${pageTo} av ${totalRows} rekker`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-nl-NL.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['nl-NL'] = {
 
     return `Toon ${pageFrom} tot ${pageTo} van ${totalRows} record${(totalRows > 1) ? 's' : ''}`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Toon ${totalRows} record${(totalRows > 1) ? 's' : ''}`
   },

+ 9 - 0
src/locale/bootstrap-table-pl-PL.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['pl-PL'] = {
 
     return `Wyświetlanie rekordów od ${pageFrom} do ${pageTo} z ${totalRows}`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-pt-BR.js

@@ -18,6 +18,15 @@ $.fn.bootstrapTable.locales['pt-BR'] = {
 
     return `Exibindo ${pageFrom} até ${pageTo} de ${totalRows} linhas`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-pt-PT.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['pt-PT'] = {
 
     return `A mostrar ${pageFrom} at&eacute; ${pageTo} de ${totalRows} linhas`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-ro-RO.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['ro-RO'] = {
 
     return `Arata de la ${pageFrom} pana la ${pageTo} din ${totalRows} randuri`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-ru-RU.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['ru-RU'] = {
 
     return `Записи с ${pageFrom} по ${pageTo} из ${totalRows}`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-sk-SK.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['sk-SK'] = {
 
     return `Zobrazená ${pageFrom}. - ${pageTo}. položka z celkových ${totalRows}`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-sv-SE.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['sv-SE'] = {
 
     return `Visa ${pageFrom} till ${pageTo} av ${totalRows} rader`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-th-TH.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['th-TH'] = {
 
     return `รายการที่ ${pageFrom} ถึง ${pageTo} จากทั้งหมด ${totalRows} รายการ`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-tr-TR.js

@@ -18,6 +18,15 @@ $.fn.bootstrapTable.locales['tr-TR'] = {
 
     return `${totalRows} kayıttan ${pageFrom}-${pageTo} arası gösteriliyor.`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-uk-UA.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['uk-UA'] = {
 
     return `Показано з ${pageFrom} по ${pageTo}. Всього: ${totalRows}`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-ur-PK.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['ur-PK'] = {
 
     return `دیکھیں ${pageFrom} سے ${pageTo} کے ${totalRows}ریکارڈز`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-uz-Latn-UZ.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['uz-Latn-UZ'] = {
 
     return `Ko'rsatypati ${pageFrom} dan ${pageTo} gacha ${totalRows} qatorlarni`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-vi-VN.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['vi-VN'] = {
 
     return `Hiển thị từ trang ${pageFrom} đến ${pageTo} của ${totalRows} bảng ghi`
   },
+  formatSRPaginationPreText () {
+    return 'previous page'
+  },
+  formatSRPaginationPageText (page) {
+    return `to page ${page}`
+  },
+  formatSRPaginationNextText () {
+    return 'next page'
+  },
   formatDetailPagination (totalRows) {
     return `Showing ${totalRows} rows`
   },

+ 9 - 0
src/locale/bootstrap-table-zh-CN.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['zh-CN'] = {
 
     return `显示第 ${pageFrom} 到第 ${pageTo} 条记录,总共 ${totalRows} 条记录`
   },
+  formatSRPaginationPreText () {
+    return '上一页'
+  },
+  formatSRPaginationPageText (page) {
+    return `第${page}页`
+  },
+  formatSRPaginationNextText () {
+    return '下一页'
+  },
   formatDetailPagination (totalRows) {
     return `总共 ${totalRows} 条记录`
   },

+ 9 - 0
src/locale/bootstrap-table-zh-TW.js

@@ -17,6 +17,15 @@ $.fn.bootstrapTable.locales['zh-TW'] = {
 
     return `顯示第 ${pageFrom} 到第 ${pageTo} 項記錄,總共 ${totalRows} 項記錄`
   },
+  formatSRPaginationPreText () {
+    return '上一頁'
+  },
+  formatSRPaginationPageText (page) {
+    return `第${page}頁`
+  },
+  formatSRPaginationNextText () {
+    return '下一頁'
+  },
   formatDetailPagination (totalRows) {
     return `總共 ${totalRows} 項記錄`
   },

+ 1 - 1
src/themes/bulma/bootstrap-table-bulma.js

@@ -31,7 +31,7 @@ $.BootstrapTable = class extends $.BootstrapTable {
     this.constants.html.pageDropdownItem = '<a class="dropdown-item %s" href="#">%s</a>'
     this.constants.html.dropdownCaret = '<span class="icon is-small"><i class="fas fa-angle-down" aria-hidden="true"></i></span>'
     this.constants.html.pagination = ['<ul class="pagination%s">', '</ul>']
-    this.constants.html.paginationItem = '<li><a class="page-item pagination-link%s" href="#">%s</a></li>'
+    this.constants.html.paginationItem = '<li><a class="page-item pagination-link%s" aria-label="%s" href="#">%s</a></li>'
     this.constants.html.searchInput = '<p class="control"><input class="%s input-%s" type="text" placeholder="%s"></p>'
     this.constants.html.inputGroup = '<div class="field has-addons has-addons-right">%s%s</div>'
     this.constants.html.searchButton = '<p class="control"><button class="button" type="button" name="search" title="%s"><i class="%s %s"></i></button></p>'

+ 1 - 1
src/themes/foundation/bootstrap-table-foundation.js

@@ -29,7 +29,7 @@ $.BootstrapTable = class extends $.BootstrapTable {
     this.constants.html.pageDropdownItem = '<li class="dropdown-item %s"><a href="#">%s</a></li>'
     this.constants.html.dropdownCaret = '<i class="fa fa-angle-down"></i>'
     this.constants.html.pagination = ['<ul class="pagination%s">', '</ul>']
-    this.constants.html.paginationItem = '<li><a class="page-item%s" href="#">%s</a></li>'
+    this.constants.html.paginationItem = '<li><a class="page-item%s" aria-label="%s" href="#">%s</a></li>'
     this.constants.html.inputGroup = '<div class="input-group">%s <div class="input-group-button">%s</div></div>'
     this.constants.html.searchInput = '<input class="%s input-%s input-group-field" type="text" placeholder="%s">'
     this.constants.html.searchButton = '<button class="button" type="button" name="search" title="%s"><i class="%s %s"></i></button>'

+ 1 - 1
src/themes/materialize/bootstrap-table-materialize.js

@@ -41,7 +41,7 @@ $.BootstrapTable = class extends $.BootstrapTable {
     this.constants.html.pageDropdownItem = '<li><a class="%s" href="#">%s</a></li>'
     this.constants.html.dropdownCaret = '<i class="material-icons">arrow_drop_down</i>'
     this.constants.html.pagination = ['<ul class="pagination%s">', '</ul>']
-    this.constants.html.paginationItem = '<li class="waves-effect page-item%s"><a href="#">%s</a></li>'
+    this.constants.html.paginationItem = '<li class="waves-effect page-item%s" aria-label="%s"><a href="#">%s</a></li>'
     this.constants.html.icon = '<i class="%s">%s</i>'
   }
 

+ 1 - 1
src/themes/semantic/bootstrap-table-semantic.js

@@ -27,7 +27,7 @@ $.BootstrapTable = class extends $.BootstrapTable {
     this.constants.html.pageDropdownItem = '<a class="item %s" href="#">%s</a>'
     this.constants.html.dropdownCaret = '<i class="dropdown icon"></i>'
     this.constants.html.pagination = ['<div class="ui pagination menu%s">', '</div>']
-    this.constants.html.paginationItem = '<a class="page-item item%s" href="#">%s</a>'
+    this.constants.html.paginationItem = '<a class="page-item item%s" aria-label="%s" href="#">%s</a>'
     this.constants.html.searchButton = '<button class="ui button" type="button" name="search" title="%s"><i class="%s %s"></i></button>'
     this.constants.html.searchClearButton = '<button class="ui button" type="button" name="clearSearch" title="%s"><i class="%s %s"></i></button>'
     this.constants.html.inputGroup = '<div class="ui action input">%s%s</div>'