@@ -6,6 +6,8 @@ import DsfrTableRow, { type DsfrTableRowProps } from './DsfrTableRow.vue'
66import type { DsfrTableProps } from ' ./DsfrTable.types'
77import {getRandomId } from " @/utils/random-utils" ;
88
9+ import { getRandomId } from ' @/utils/random-utils'
10+
911export type { DsfrTableProps }
1012
1113const props = withDefaults (defineProps <DsfrTableProps >(), {
@@ -24,6 +26,7 @@ const getRowData = (row: DsfrTableProps['rows']) => {
2426}
2527
2628const currentPage = ref (props .currentPage )
29+ const selectId = getRandomId ()
2730const optionSelected = ref (props .resultsDisplayed )
2831const pageCount = computed (() =>
2932 props .rows .length > optionSelected .value
@@ -109,6 +112,7 @@ const selectId = getRandomId('resultPerPage')
109112 <select
110113 :id =" selectId"
111114 v-model =" optionSelected"
115+ title =" Résultats par page - le nombre résultats est mis à jour dès sélection d’une valeur"
112116 @change =" emit('update:currentPage')"
113117 >
114118 <option
@@ -120,26 +124,37 @@ const selectId = getRandomId('resultPerPage')
120124 </option >
121125 </select >
122126 </div >
123- <div class =" flex ml-1" >
124- <span class =" self-center" >Page {{ currentPage }} sur {{ pageCount }}</span >
127+ <div class =" flex ml-1"
128+ aria-live =" polite"
129+ aria-atomic =" true"
130+ >
131+ <p class =" self-center fr-m-0" >Page {{ currentPage }} sur {{ pageCount }}</p >
125132 </div >
126133 <div class =" flex ml-1" >
127134 <button
128135 class =" fr-icon-arrow-left-s-first-line"
129136 @click =" goFirstPage()"
130- />
137+ >
138+ <span class =" fr-sr-only" >Première page du tableau</span >
139+ </button >
131140 <button
132141 class =" fr-icon-arrow-left-s-line"
133142 @click =" goPreviousPage()"
134- />
143+ >
144+ <span class =" fr-sr-only" >Page précédente du tableau</span >
145+ </button >
135146 <button
136147 class =" fr-icon-arrow-right-s-line"
137148 @click =" goNextPage()"
138- />
149+ >
150+ <span class =" fr-sr-only" >Page suivante du tableau</span >
151+ </button >
139152 <button
140153 class =" fr-icon-arrow-right-s-last-line"
141154 @click =" goLastPage()"
142- />
155+ >
156+ <span class =" fr-sr-only" >Dernière page du tableau</span >
157+ </button >
143158 </div >
144159 </div >
145160 </td >
0 commit comments