@cnamts/synapse 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (533) hide show
  1. package/README.md +1 -1
  2. package/dist/DateFilter-YWOTbfeL.js +98 -0
  3. package/dist/NumberFilter-DMmMgALM.js +121 -0
  4. package/dist/PeriodFilter-Bok5BHcn.js +112 -0
  5. package/dist/SelectFilter-BKud2WhN.js +136 -0
  6. package/dist/TextFilter-DvMf2thH.js +114 -0
  7. package/dist/{components/BackBtn → common}/constants/ExpertiseLevelEnum.d.ts +3 -0
  8. package/dist/components/Accordion/Accordion.d.ts +2 -1
  9. package/dist/components/Accordion/composables/useAccordionGroupCommunication.d.ts +5 -0
  10. package/dist/components/Accordion/composables/useAccordionKeyboardNavigation.d.ts +12 -0
  11. package/dist/components/Accordion/composables/useAccordionState.d.ts +13 -0
  12. package/dist/components/BackBtn/AccessibiliteItems.d.ts +1 -1
  13. package/dist/components/BackToTopBtn/AccessibiliteItems.d.ts +1 -1
  14. package/dist/components/ChipList/AccessibiliteItems.d.ts +1 -1
  15. package/dist/components/CollapsibleList/AccessibiliteItems.d.ts +1 -1
  16. package/dist/components/ContextualMenu/AccessibiliteItems.d.ts +1 -1
  17. package/dist/components/CookieBanner/AccessibiliteItems.d.ts +1 -1
  18. package/dist/components/CopyBtn/AccessibiliteItems.d.ts +1 -1
  19. package/dist/components/Customs/SyBtnSelect/AccessibiliteItems.d.ts +1 -1
  20. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +85 -0
  21. package/dist/components/Customs/SyInputSelect/AccessibiliteItems.d.ts +1 -1
  22. package/dist/components/Customs/SyInputSelect/SyInputSelect.d.ts +2 -0
  23. package/dist/components/Customs/SySelect/AccessibiliteItems.d.ts +1 -1
  24. package/dist/components/Customs/SySelect/SySelect.d.ts +33 -13
  25. package/dist/components/Customs/SyTextField/AccessibiliteItems.d.ts +1 -1
  26. package/dist/components/Customs/SyTextField/SyTextField.d.ts +2 -2
  27. package/dist/components/DataList/AccessibiliteItems.d.ts +1 -1
  28. package/dist/components/DataListGroup/AccessibiliteItems.d.ts +1 -1
  29. package/dist/components/DatePicker/AccessibiliteItems.d.ts +1 -1
  30. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +4295 -0
  31. package/dist/components/DatePicker/{DatePicker.d.ts → DatePicker/DatePicker.d.ts} +158 -104
  32. package/dist/components/DatePicker/{DateTextInput.d.ts → DateTextInput/DateTextInput.d.ts} +35 -27
  33. package/dist/components/DatePicker/composables/index.d.ts +17 -0
  34. package/dist/components/DatePicker/composables/useAsteriskDisplay.d.ts +14 -0
  35. package/dist/components/DatePicker/composables/useDateAutoClamp.d.ts +16 -0
  36. package/dist/components/DatePicker/composables/useDateFormatValidation.d.ts +25 -0
  37. package/dist/components/DatePicker/composables/useDateInputEditing.d.ts +33 -0
  38. package/dist/components/DatePicker/composables/useDatePickerViewMode.d.ts +16 -0
  39. package/dist/components/DatePicker/composables/useDatePickerVisibility.d.ts +27 -0
  40. package/dist/components/DatePicker/composables/useDateRangeInput.d.ts +29 -0
  41. package/dist/components/DatePicker/composables/useDateRangeValidation.d.ts +11 -0
  42. package/dist/components/DatePicker/composables/useDateSelection.d.ts +10 -0
  43. package/dist/components/DatePicker/composables/useDateValidation.d.ts +35 -0
  44. package/dist/components/DatePicker/composables/useDisplayedDateString.d.ts +19 -0
  45. package/dist/components/DatePicker/composables/useIconState.d.ts +17 -0
  46. package/dist/components/DatePicker/composables/useInputBlurHandler.d.ts +31 -0
  47. package/dist/components/DatePicker/composables/useInputHandler.d.ts +32 -0
  48. package/dist/components/DatePicker/composables/useManualDateValidation.d.ts +33 -0
  49. package/dist/components/DatePicker/composables/useMonthButtonCustomization.d.ts +12 -0
  50. package/dist/components/DatePicker/composables/useTodayButton.d.ts +16 -0
  51. package/dist/components/DatePicker/composables/useWeekendDays.d.ts +11 -0
  52. package/dist/components/DatePicker/constants/messages.d.ts +29 -0
  53. package/dist/components/DatePicker/types.d.ts +13 -0
  54. package/dist/components/DialogBox/AccessibiliteItems.d.ts +1 -1
  55. package/dist/components/DownloadBtn/AccessibiliteItems.d.ts +1 -1
  56. package/dist/components/ErrorPage/AccessibiliteItems.d.ts +1 -1
  57. package/dist/components/ExternalLinks/AccessibiliteItems.d.ts +1 -1
  58. package/dist/components/FileList/AccessibiliteItems.d.ts +1 -1
  59. package/dist/components/FilePreview/AccessibiliteItems.d.ts +1 -1
  60. package/dist/components/FileUpload/AccessibiliteItems.d.ts +1 -1
  61. package/dist/components/FilterInline/AccessibiliteItems.d.ts +1 -1
  62. package/dist/components/FilterSideBar/AccessibiliteItems.d.ts +1 -1
  63. package/dist/components/FilterSideBar/FilterSideBar.d.ts +395 -1
  64. package/dist/components/FooterBar/AccessibiliteItems.d.ts +1 -1
  65. package/dist/components/FranceConnectBtn/AccessibiliteItems.d.ts +1 -1
  66. package/dist/components/HeaderBar/AccessibiliteItems.d.ts +1 -1
  67. package/dist/components/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.d.ts +1 -1
  68. package/dist/components/HeaderLoading/AccessibiliteItems.d.ts +1 -1
  69. package/dist/components/HeaderToolbar/AccessibiliteItems.d.ts +1 -1
  70. package/dist/components/LangBtn/AccessibiliteItems.d.ts +1 -1
  71. package/dist/components/Logo/AccessibiliteItems.d.ts +1 -1
  72. package/dist/components/LogoBrandSection/AccessibiliteItems.d.ts +1 -1
  73. package/dist/components/MaintenancePage/AccessibiliteItems.d.ts +1 -1
  74. package/dist/components/NirField/AccessibiliteItems.d.ts +1 -1
  75. package/dist/components/NirField/NirField.d.ts +7 -3
  76. package/dist/components/NirField/nirValidation.d.ts +1 -1
  77. package/dist/components/NotFoundPage/AccessibiliteItems.d.ts +1 -1
  78. package/dist/components/NotificationBar/AccessibiliteItems.d.ts +1 -1
  79. package/dist/components/PageContainer/AccessibiliteItems.d.ts +1 -1
  80. package/dist/components/PaginatedTable/AccessibiliteItems.d.ts +1 -1
  81. package/dist/components/PasswordField/AccessibiliteItems.d.ts +1 -1
  82. package/dist/components/PasswordField/PasswordField.d.ts +2 -0
  83. package/dist/components/PeriodField/AccessibiliteItems.d.ts +1 -1
  84. package/dist/components/PeriodField/PeriodField.d.ts +219 -41
  85. package/dist/components/PhoneField/AccessibiliteItems.d.ts +1 -1
  86. package/dist/components/PhoneField/PhoneField.d.ts +2 -2
  87. package/dist/components/RangeField/AccessibiliteItems.d.ts +1 -1
  88. package/dist/components/RangeField/RangeField.d.ts +2 -0
  89. package/dist/components/RatingPicker/AccessibiliteItems.d.ts +1 -1
  90. package/dist/components/SearchListField/AccessibiliteItems.d.ts +1 -1
  91. package/dist/components/SearchListField/SearchListField.d.ts +9 -0
  92. package/dist/components/SelectBtnField/AccessibiliteItems.d.ts +1 -1
  93. package/dist/components/SkipLink/AccessibiliteItems.d.ts +1 -1
  94. package/dist/components/SocialMediaLinks/AccessibiliteItems.d.ts +1 -1
  95. package/dist/components/SubHeader/AccessibiliteItems.d.ts +1 -1
  96. package/dist/components/SyAlert/AccessibiliteItems.d.ts +1 -1
  97. package/dist/components/SyTextArea/SyTextArea.d.ts +2 -0
  98. package/dist/components/TableToolbar/AccessibiliteItems.d.ts +1 -1
  99. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +652 -0
  100. package/dist/components/Tables/SyTable/SyTable.d.ts +671 -0
  101. package/dist/components/Tables/common/SyTableFilter.d.ts +126 -0
  102. package/dist/components/Tables/common/SyTablePagination.d.ts +1636 -0
  103. package/dist/components/Tables/common/TableHeader.d.ts +15 -0
  104. package/dist/components/Tables/common/constants/StateEnum.d.ts +6 -0
  105. package/dist/components/Tables/common/filters/DateFilter.d.ts +121 -0
  106. package/dist/components/Tables/common/filters/NumberFilter.d.ts +132 -0
  107. package/dist/components/Tables/common/filters/PeriodFilter.d.ts +135 -0
  108. package/dist/components/Tables/common/filters/SelectFilter.d.ts +120 -0
  109. package/dist/components/Tables/common/filters/TextFilter.d.ts +132 -0
  110. package/dist/components/Tables/common/filters/getFilterComponent.d.ts +1 -0
  111. package/dist/components/Tables/common/filters/locales.d.ts +4 -0
  112. package/dist/components/Tables/common/filters/logics/date.d.ts +1 -0
  113. package/dist/components/Tables/common/filters/logics/number.d.ts +1 -0
  114. package/dist/components/Tables/common/filters/logics/period.d.ts +1 -0
  115. package/dist/components/Tables/common/filters/logics/select.d.ts +1 -0
  116. package/dist/components/Tables/common/filters/logics/text.d.ts +1 -0
  117. package/dist/components/Tables/common/formatters.d.ts +17 -0
  118. package/dist/components/Tables/common/locales.d.ts +28 -0
  119. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +267 -0
  120. package/dist/components/Tables/common/organizeColumns/sortHeaders.d.ts +2 -0
  121. package/dist/components/Tables/common/tableAccessibilityUtils.d.ts +8 -0
  122. package/dist/components/Tables/common/tableFilterUtils.d.ts +3 -0
  123. package/dist/components/Tables/common/tableStorageUtils.d.ts +69 -0
  124. package/dist/components/Tables/common/tableUtils.d.ts +79 -0
  125. package/dist/components/Tables/common/types.d.ts +91 -0
  126. package/dist/components/Tables/common/usePagination.d.ts +22 -0
  127. package/dist/components/Tables/common/useTableCheckbox.d.ts +20 -0
  128. package/dist/components/Tables/common/useTableFilter.d.ts +9 -0
  129. package/dist/components/Tables/common/useTableHeaders.d.ts +76 -0
  130. package/dist/components/Tables/common/useTableItems.d.ts +24 -0
  131. package/dist/components/Tables/common/useTableOptions.d.ts +18 -0
  132. package/dist/components/Tables/index.d.ts +2 -0
  133. package/dist/components/ToolbarContainer/ToolbarContainer.d.ts +11 -0
  134. package/dist/components/UploadWorkflow/AccessibiliteItems.d.ts +1 -1
  135. package/dist/components/UserMenuBtn/AccessibiliteItems.d.ts +1 -1
  136. package/dist/components/UserMenuBtn/UserMenuBtn.d.ts +9 -2
  137. package/dist/components/index.d.ts +9 -5
  138. package/dist/design-system-v3.js +102 -11944
  139. package/dist/design-system-v3.umd.cjs +22 -4
  140. package/dist/designTokens/index.d.ts +3 -1
  141. package/dist/designTokens/tokens/cnam/cnamFonts.d.ts +140 -0
  142. package/dist/designTokens/tokens/pa/paFonts.d.ts +140 -0
  143. package/dist/designTokens/utils/createFontVariables.d.ts +39 -0
  144. package/dist/designTokens/utils/index.d.ts +2 -1
  145. package/dist/main-Cx8qG7YR.js +16344 -0
  146. package/dist/stories/Accessibilite/Vuetify/VuetifyItems.d.ts +14 -2
  147. package/dist/stories/DesignTokens/StylesTypographiques.stories.new.d.ts +8 -0
  148. package/dist/stories/DesignTokens/TypographyDisplay.d.ts +28 -0
  149. package/dist/stories/DesignTokens/vue-shims.d.ts +6 -0
  150. package/dist/style.css +1 -1
  151. package/dist/utils/rules/isRequired/index.d.ts +1 -1
  152. package/dist/vite-env.d.ts +12 -0
  153. package/package.json +3 -3
  154. package/src/assets/_spacers.scss +37 -1
  155. package/src/assets/_typography.scss +158 -0
  156. package/src/assets/settings.scss +7 -0
  157. package/src/common/constants/ExpertiseLevelEnum.ts +7 -0
  158. package/src/common/imgs/accessibility-svgrepo-com.svg +4 -0
  159. package/src/components/Accordion/Accessibilite/AccessibilityGuide.mdx +249 -0
  160. package/src/components/Accordion/Accordion.vue +48 -76
  161. package/src/components/Accordion/composables/__tests__/useAccordionGroupCommunication.spec.ts +146 -0
  162. package/src/components/Accordion/composables/__tests__/useAccordionKeyboardNavigation.spec.ts +209 -0
  163. package/src/components/Accordion/composables/__tests__/useAccordionState.spec.ts +144 -0
  164. package/src/components/Accordion/composables/useAccordionGroupCommunication.ts +52 -0
  165. package/src/components/Accordion/composables/useAccordionKeyboardNavigation.ts +111 -0
  166. package/src/components/Accordion/composables/useAccordionState.ts +59 -0
  167. package/src/components/Accordion/tests/__snapshots__/accordion.spec.ts.snap +3 -0
  168. package/src/components/BackBtn/AccessibiliteItems.ts +1 -1
  169. package/src/components/BackToTopBtn/AccessibiliteItems.ts +1 -1
  170. package/src/components/ChipList/AccessibiliteItems.ts +1 -1
  171. package/src/components/CollapsibleList/AccessibiliteItems.ts +1 -1
  172. package/src/components/ContextualMenu/AccessibiliteItems.ts +1 -1
  173. package/src/components/CookieBanner/AccessibiliteItems.ts +1 -1
  174. package/src/components/CopyBtn/AccessibiliteItems.ts +1 -1
  175. package/src/components/Customs/SyBtnSelect/AccessibiliteItems.ts +1 -1
  176. package/src/components/Customs/SyCheckbox/Accessibilite.mdx +303 -0
  177. package/src/components/Customs/SyCheckbox/SyCheckbox.mdx +50 -0
  178. package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +630 -0
  179. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +326 -0
  180. package/src/components/Customs/SyCheckbox/tests/SyCheckbox.spec.ts +201 -0
  181. package/src/components/Customs/SyInputSelect/AccessibiliteItems.ts +1 -1
  182. package/src/components/Customs/SyInputSelect/SyInputSelect.stories.ts +1 -0
  183. package/src/components/Customs/SyInputSelect/SyInputSelect.vue +8 -1
  184. package/src/components/Customs/SySelect/AccessibiliteItems.ts +1 -1
  185. package/src/components/Customs/SySelect/SySelect.stories.ts +160 -0
  186. package/src/components/Customs/SySelect/SySelect.vue +292 -39
  187. package/src/components/Customs/SySelect/tests/SySelect.spec.ts +234 -2
  188. package/src/components/Customs/SyTextField/AccessibiliteItems.ts +1 -1
  189. package/src/components/Customs/SyTextField/SyTextField.stories.ts +3 -2
  190. package/src/components/Customs/SyTextField/SyTextField.vue +19 -8
  191. package/src/components/DataList/AccessibiliteItems.ts +1 -1
  192. package/src/components/DataListGroup/AccessibiliteItems.ts +1 -1
  193. package/src/components/DatePicker/AccessibiliteItems.ts +1 -1
  194. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.mdx +212 -0
  195. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +1307 -0
  196. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +769 -204
  197. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.events.spec.ts +161 -0
  198. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +943 -0
  199. package/src/components/DatePicker/DatePicker/DatePicker.mdx +176 -0
  200. package/src/components/DatePicker/{DatePicker.stories.ts → DatePicker/DatePicker.stories.ts} +356 -519
  201. package/src/components/DatePicker/{DatePicker.vue → DatePicker/DatePicker.vue} +435 -89
  202. package/src/components/DatePicker/DatePicker/tests/DatePicker.events.spec.ts +189 -0
  203. package/src/components/DatePicker/{tests → DatePicker/tests}/DatePicker.spec.ts +0 -14
  204. package/src/components/DatePicker/DatePickerOverview.mdx +227 -0
  205. package/src/components/DatePicker/{DatePickerValidation.mdx → DatePickerValidationExample/DatePickerValidation.mdx} +3 -3
  206. package/src/components/DatePicker/{DatePickerValidation.stories.ts → DatePickerValidationExample/DatePickerValidation.stories.ts} +2 -2
  207. package/src/components/DatePicker/DateTextInput/DateRange.stories.ts +320 -0
  208. package/src/components/DatePicker/DateTextInput/DateTextInput.events.spec.ts +148 -0
  209. package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +278 -0
  210. package/src/components/DatePicker/{tests → DateTextInput}/DateTextInput.spec.ts +10 -7
  211. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +1111 -0
  212. package/src/components/DatePicker/DateTextInput/NoCalendar.mdx +64 -0
  213. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +782 -0
  214. package/src/components/DatePicker/composables/index.ts +24 -0
  215. package/src/components/DatePicker/composables/tests/useDateAutoClamp.spec.ts +190 -0
  216. package/src/components/DatePicker/composables/tests/useDateFormatValidation.spec.ts +165 -0
  217. package/src/components/DatePicker/composables/tests/useDateInputEditing.spec.ts +359 -0
  218. package/src/components/DatePicker/composables/tests/useDatePickerViewMode.spec.ts +160 -0
  219. package/src/components/DatePicker/composables/tests/useDatePickerVisibility.spec.ts +339 -0
  220. package/src/components/DatePicker/composables/tests/useDateRangeInput.spec.ts +277 -0
  221. package/src/components/DatePicker/composables/tests/useDateRangeValidation.spec.ts +107 -0
  222. package/src/components/DatePicker/composables/tests/useDateSelection.spec.ts +171 -0
  223. package/src/components/DatePicker/composables/tests/useDateValidation.spec.ts +245 -0
  224. package/src/components/DatePicker/composables/tests/useDisplayedDateString.spec.ts +98 -0
  225. package/src/components/DatePicker/composables/tests/useIconState.spec.ts +130 -0
  226. package/src/components/DatePicker/composables/tests/useInputBlurHandler.spec.ts +456 -0
  227. package/src/components/DatePicker/composables/tests/useManualDateValidation.spec.ts +233 -0
  228. package/src/components/DatePicker/composables/tests/useMonthButtonCustomization.spec.ts +125 -0
  229. package/src/components/DatePicker/composables/tests/useTodayButton.spec.ts +97 -0
  230. package/src/components/DatePicker/composables/tests/useWeekendDays.spec.ts +28 -0
  231. package/src/components/DatePicker/composables/useAsteriskDisplay.ts +31 -0
  232. package/src/components/DatePicker/composables/useDateAutoClamp.ts +136 -0
  233. package/src/components/DatePicker/composables/useDateFormatValidation.ts +95 -0
  234. package/src/components/DatePicker/composables/useDateInputEditing.ts +326 -0
  235. package/src/components/DatePicker/composables/useDatePickerViewMode.ts +61 -0
  236. package/src/components/DatePicker/composables/useDatePickerVisibility.ts +146 -0
  237. package/src/components/DatePicker/composables/useDateRangeInput.ts +378 -0
  238. package/src/components/DatePicker/composables/useDateRangeValidation.ts +48 -0
  239. package/src/components/DatePicker/composables/useDateSelection.ts +121 -0
  240. package/src/components/DatePicker/composables/useDateValidation.ts +225 -0
  241. package/src/components/DatePicker/composables/useDisplayedDateString.ts +70 -0
  242. package/src/components/DatePicker/composables/useIconState.ts +53 -0
  243. package/src/components/DatePicker/composables/useInputBlurHandler.ts +165 -0
  244. package/src/components/DatePicker/composables/useInputHandler.ts +436 -0
  245. package/src/components/DatePicker/composables/useManualDateValidation.ts +161 -0
  246. package/src/components/DatePicker/composables/useMonthButtonCustomization.ts +187 -0
  247. package/src/components/DatePicker/composables/useTodayButton.ts +43 -0
  248. package/src/components/DatePicker/composables/useWeekendDays.ts +21 -0
  249. package/src/components/DatePicker/constants/messages.ts +50 -0
  250. package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +4 -4
  251. package/src/components/DatePicker/docExamples/DatePickerValidationExamples.vue +1 -1
  252. package/src/components/DatePicker/playground/ComplexDatePickerPlayground.vue +172 -0
  253. package/src/components/DatePicker/types.ts +15 -0
  254. package/src/components/DiacriticPicker/DiacriticPicker.stories.ts +10 -0
  255. package/src/components/DialogBox/AccessibiliteItems.ts +1 -1
  256. package/src/components/DownloadBtn/AccessibiliteItems.ts +1 -1
  257. package/src/components/ErrorPage/Accessibilite.stories.ts +8 -0
  258. package/src/components/ErrorPage/AccessibiliteItems.ts +1 -1
  259. package/src/components/ErrorPage/ErrorPage.vue +12 -6
  260. package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +4 -4
  261. package/src/components/ExternalLinks/AccessibiliteItems.ts +1 -1
  262. package/src/components/FileList/AccessibiliteItems.ts +1 -1
  263. package/src/components/FilePreview/AccessibiliteItems.ts +1 -1
  264. package/src/components/FileUpload/AccessibiliteItems.ts +1 -1
  265. package/src/components/FilterInline/AccessibiliteItems.ts +1 -1
  266. package/src/components/FilterSideBar/AccessibiliteItems.ts +1 -1
  267. package/src/components/FilterSideBar/FilterSideBar.vue +108 -90
  268. package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +27 -0
  269. package/src/components/FilterSideBar/tests/__snapshots__/FilterSideBar.spec.ts.snap +114 -109
  270. package/src/components/FooterBar/AccessibiliteItems.ts +1 -1
  271. package/src/components/FooterBar/FooterBar.vue +2 -1
  272. package/src/components/FranceConnectBtn/AccessibiliteItems.ts +1 -1
  273. package/src/components/HeaderBar/AccessibiliteItems.ts +1 -1
  274. package/src/components/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.ts +1 -1
  275. package/src/components/HeaderLoading/AccessibiliteItems.ts +1 -1
  276. package/src/components/HeaderToolbar/AccessibiliteItems.ts +1 -1
  277. package/src/components/LangBtn/AccessibiliteItems.ts +1 -1
  278. package/src/components/Logo/Accessibilite.stories.ts +4 -0
  279. package/src/components/Logo/AccessibiliteItems.ts +1 -1
  280. package/src/components/LogoBrandSection/AccessibiliteItems.ts +1 -1
  281. package/src/components/MaintenancePage/AccessibiliteItems.ts +1 -1
  282. package/src/components/NirField/AccessibiliteItems.ts +1 -1
  283. package/src/components/NirField/NirField.mdx +22 -9
  284. package/src/components/NirField/NirField.stories.ts +26 -2
  285. package/src/components/NirField/NirField.vue +209 -22
  286. package/src/components/NirField/nirValidation.ts +17 -3
  287. package/src/components/NirField/tests/NirField.spec.ts +2 -2
  288. package/src/components/NotFoundPage/Accessibilite.stories.ts +8 -0
  289. package/src/components/NotFoundPage/AccessibiliteItems.ts +1 -1
  290. package/src/components/NotFoundPage/NotFoundPage.vue +2 -1
  291. package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +8 -6
  292. package/src/components/NotificationBar/AccessibiliteItems.ts +1 -1
  293. package/src/components/PageContainer/AccessibiliteItems.ts +1 -1
  294. package/src/components/PaginatedTable/AccessibiliteItems.ts +1 -1
  295. package/src/components/PaginatedTable/PaginatedTable.mdx +2 -0
  296. package/src/components/PaginatedTable/PaginatedTable.stories.ts +19 -0
  297. package/src/components/PaginatedTable/PaginatedTable.vue +51 -13
  298. package/src/components/PaginatedTable/tests/PaginatedTable.spec.ts +0 -2
  299. package/src/components/PasswordField/AccessibiliteItems.ts +1 -1
  300. package/src/components/PasswordField/PasswordField.stories.ts +4 -0
  301. package/src/components/PasswordField/PasswordField.vue +3 -0
  302. package/src/components/PeriodField/AccessibiliteItems.ts +1 -1
  303. package/src/components/PeriodField/PeriodField.vue +15 -1
  304. package/src/components/PhoneField/AccessibiliteItems.ts +1 -1
  305. package/src/components/PhoneField/PhoneField.stories.ts +15 -15
  306. package/src/components/PhoneField/PhoneField.vue +1 -1
  307. package/src/components/RangeField/AccessibiliteItems.ts +1 -1
  308. package/src/components/RangeField/RangeField.stories.ts +9 -0
  309. package/src/components/RangeField/RangeField.vue +4 -0
  310. package/src/components/RangeField/tests/__snapshots__/RangeField.spec.ts.snap +12 -0
  311. package/src/components/RatingPicker/AccessibiliteItems.ts +1 -1
  312. package/src/components/SearchListField/AccessibiliteItems.ts +1 -1
  313. package/src/components/SearchListField/SearchListField.vue +5 -0
  314. package/src/components/SelectBtnField/AccessibiliteItems.ts +1 -1
  315. package/src/components/SkipLink/AccessibiliteItems.ts +1 -1
  316. package/src/components/SocialMediaLinks/AccessibiliteItems.ts +1 -1
  317. package/src/components/SubHeader/AccessibiliteItems.ts +1 -1
  318. package/src/components/SyAlert/AccessibiliteItems.ts +1 -1
  319. package/src/components/SyTextArea/SyTextArea.vue +3 -0
  320. package/src/components/SyTextArea/tests/SyTextArea.spec.ts +0 -1
  321. package/src/components/TableToolbar/AccessibiliteItems.ts +1 -1
  322. package/src/components/TableToolbar/TableToolbar.stories.ts +110 -56
  323. package/src/components/Tables/SyServerTable/FilterRules.stories.ts +700 -0
  324. package/src/components/Tables/SyServerTable/SyServerTable.mdx +170 -0
  325. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +4354 -0
  326. package/src/components/Tables/SyServerTable/SyServerTable.vue +391 -0
  327. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +702 -0
  328. package/src/components/Tables/SyTable/FilterRules.stories.ts +418 -0
  329. package/src/components/Tables/SyTable/SyTable.mdx +139 -0
  330. package/src/components/Tables/SyTable/SyTable.stories.ts +2754 -0
  331. package/src/components/Tables/SyTable/SyTable.vue +397 -0
  332. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +707 -0
  333. package/src/components/Tables/common/SyTableFilter.vue +289 -0
  334. package/src/components/Tables/common/SyTablePagination.vue +375 -0
  335. package/src/components/Tables/common/TableHeader.vue +205 -0
  336. package/src/components/Tables/common/constants/StateEnum.ts +6 -0
  337. package/src/components/Tables/common/filters/DateFilter.vue +140 -0
  338. package/src/components/Tables/common/filters/NumberFilter.vue +234 -0
  339. package/src/components/Tables/common/filters/PeriodFilter.vue +147 -0
  340. package/src/components/Tables/common/filters/SelectFilter.vue +235 -0
  341. package/src/components/Tables/common/filters/TextFilter.vue +191 -0
  342. package/src/components/Tables/common/filters/getFilterComponent.ts +54 -0
  343. package/src/components/Tables/common/filters/locales.ts +4 -0
  344. package/src/components/Tables/common/filters/logics/date.ts +12 -0
  345. package/src/components/Tables/common/filters/logics/number.ts +48 -0
  346. package/src/components/Tables/common/filters/logics/period.ts +25 -0
  347. package/src/components/Tables/common/filters/logics/select.ts +27 -0
  348. package/src/components/Tables/common/filters/logics/tests/TextFilterLogic.spec.ts +177 -0
  349. package/src/components/Tables/common/filters/logics/text.ts +62 -0
  350. package/src/components/Tables/common/filters/tests/DateFilter.spec.ts +187 -0
  351. package/src/components/Tables/common/filters/tests/NumberFilter.spec.ts +280 -0
  352. package/src/components/Tables/common/filters/tests/PeriodFilter.spec.ts +192 -0
  353. package/src/components/Tables/common/filters/tests/SelectFilter.spec.ts +219 -0
  354. package/src/components/Tables/common/filters/tests/TextFilter.spec.ts +260 -0
  355. package/src/components/Tables/common/formatters.ts +72 -0
  356. package/src/components/Tables/common/locales.ts +31 -0
  357. package/src/components/Tables/common/organizeColumns/OrganizeColumns.vue +269 -0
  358. package/src/components/Tables/common/organizeColumns/sortHeaders.ts +9 -0
  359. package/src/components/Tables/common/tableAccessibilityUtils.ts +61 -0
  360. package/src/components/Tables/common/tableFilterUtils.ts +75 -0
  361. package/src/components/Tables/common/tableStorageUtils.ts +127 -0
  362. package/src/components/Tables/common/tableStyles.scss +80 -0
  363. package/src/components/Tables/common/tableUtils.ts +102 -0
  364. package/src/components/Tables/common/tests/SyTableFilter.spec.ts +312 -0
  365. package/src/components/Tables/common/tests/SyTablePagination.spec.ts +170 -0
  366. package/src/components/Tables/common/tests/filterByRange.spec.ts +215 -0
  367. package/src/components/Tables/common/tests/resize.spec.ts +161 -0
  368. package/src/components/Tables/common/tests/tableFilterUtils.spec.ts +92 -0
  369. package/src/components/Tables/common/tests/tableUtils.spec.ts +228 -0
  370. package/src/components/Tables/common/types.ts +92 -0
  371. package/src/components/Tables/common/usePagination.ts +83 -0
  372. package/src/components/Tables/common/useTableCheckbox.ts +58 -0
  373. package/src/components/Tables/common/useTableFilter.ts +19 -0
  374. package/src/components/Tables/common/useTableHeaders.ts +88 -0
  375. package/src/components/Tables/common/useTableItems.ts +87 -0
  376. package/src/components/Tables/common/useTableOptions.ts +93 -0
  377. package/src/components/Tables/index.ts +3 -0
  378. package/src/components/ToolbarContainer/ToolbarContainer.mdx +16 -0
  379. package/src/components/ToolbarContainer/ToolbarContainer.stories.ts +675 -0
  380. package/src/components/ToolbarContainer/ToolbarContainer.vue +128 -0
  381. package/src/components/ToolbarContainer/tests/ToolbarContainer.spec.ts +156 -0
  382. package/src/components/UploadWorkflow/AccessibiliteItems.ts +1 -1
  383. package/src/components/UserMenuBtn/AccessibiliteItems.ts +1 -1
  384. package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +74 -0
  385. package/src/components/UserMenuBtn/UserMenuBtn.vue +19 -17
  386. package/src/components/index.ts +9 -5
  387. package/src/composables/date/useDateFormatDayjs.ts +8 -3
  388. package/src/composables/date/useDateInitializationDayjs.ts +28 -36
  389. package/src/composables/rules/useFieldValidation.ts +1 -2
  390. package/src/designTokens/index.ts +4 -0
  391. package/src/designTokens/tokens/cnam/cnamFonts.ts +140 -0
  392. package/src/designTokens/tokens/pa/paFonts.ts +140 -0
  393. package/src/designTokens/utils/createFontVariables.ts +143 -0
  394. package/src/designTokens/utils/index.ts +2 -1
  395. package/src/stories/Accessibilite/Aculturation/AuditDesignSystem.mdx +293 -20
  396. package/src/stories/Accessibilite/Aculturation/SensibilisationAccessibilite.mdx +448 -54
  397. package/src/stories/Accessibilite/Audit/RGAA.mdx +231 -23
  398. package/src/stories/Accessibilite/Avancement/Avancement.mdx +591 -7
  399. package/src/stories/Accessibilite/Avancement/Avancement.stories.ts +139 -38
  400. package/src/stories/Accessibilite/Introduction.mdx +258 -18
  401. package/src/stories/Accessibilite/KitDePreAudit/Echantillonnage.mdx +221 -31
  402. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +204 -22
  403. package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +537 -24
  404. package/src/stories/Accessibilite/KitDePreAudit/Outils/LecteursDEcran.mdx +577 -70
  405. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru.mdx +382 -31
  406. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +419 -81
  407. package/src/stories/Accessibilite/Vuetify/Vuetify.mdx +132 -6
  408. package/src/stories/Accessibilite/Vuetify/Vuetify.stories.ts +370 -146
  409. package/src/stories/Accessibilite/Vuetify/VuetifyItems.ts +35 -57
  410. package/src/stories/Demarrer/Accueil.stories.ts +32 -8
  411. package/src/stories/DesignTokens/StylesTypographiques.mdx +10 -9
  412. package/src/stories/DesignTokens/StylesTypographiques.stories.new.ts +397 -0
  413. package/src/stories/DesignTokens/StylesTypographiques.stories.ts +397 -0
  414. package/src/stories/DesignTokens/TypographyDisplay.vue +155 -0
  415. package/src/stories/DesignTokens/vue-shims.d.ts +6 -0
  416. package/src/stories/GuideDuDev/LesBreackingChanges.mdx +0 -2
  417. package/src/stories/GuideDuDev/MigrationDepuisBridge.mdx +1 -1
  418. package/src/stories/GuideDuDev/MigrationDepuisVue2.mdx +1 -1
  419. package/src/stories/GuideDuDev/PortailAgent.mdx +10 -0
  420. package/src/stories/GuideDuDev/PortailAgent.stories.ts +506 -0
  421. package/src/stories/GuideDuDev/Theme.mdx +41 -0
  422. package/src/utils/rules/isHolidayDay/IsHolidayDay.stories.ts +1 -1
  423. package/src/utils/rules/isRequired/index.ts +2 -1
  424. package/src/vite-env.d.ts +12 -0
  425. package/src/vuetifyConfig.ts +10 -3
  426. package/dist/components/BackToTopBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
  427. package/dist/components/ChipList/constants/ExpertiseLevelEnum.d.ts +0 -4
  428. package/dist/components/CollapsibleList/constants/ExpertiseLevelEnum.d.ts +0 -4
  429. package/dist/components/ContextualMenu/constants/ExpertiseLevelEnum.d.ts +0 -4
  430. package/dist/components/CookieBanner/constants/ExpertiseLevelEnum.d.ts +0 -4
  431. package/dist/components/CopyBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
  432. package/dist/components/Customs/SyBtnSelect/constants/ExpertiseLevelEnum.d.ts +0 -4
  433. package/dist/components/Customs/SyInputSelect/constants/ExpertiseLevelEnum.d.ts +0 -4
  434. package/dist/components/Customs/SySelect/constants/ExpertiseLevelEnum.d.ts +0 -4
  435. package/dist/components/Customs/SyTextField/constants/ExpertiseLevelEnum.d.ts +0 -4
  436. package/dist/components/DataList/constants/ExpertiseLevelEnum.d.ts +0 -4
  437. package/dist/components/DataListGroup/constants/ExpertiseLevelEnum.d.ts +0 -4
  438. package/dist/components/DatePicker/constants/ExpertiseLevelEnum.d.ts +0 -4
  439. package/dist/components/DialogBox/constants/ExpertiseLevelEnum.d.ts +0 -4
  440. package/dist/components/DownloadBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
  441. package/dist/components/ErrorPage/constants/ExpertiseLevelEnum.d.ts +0 -4
  442. package/dist/components/ExternalLinks/constants/ExpertiseLevelEnum.d.ts +0 -4
  443. package/dist/components/FileList/constants/ExpertiseLevelEnum.d.ts +0 -4
  444. package/dist/components/FilePreview/constants/ExpertiseLevelEnum.d.ts +0 -4
  445. package/dist/components/FileUpload/constants/ExpertiseLevelEnum.d.ts +0 -4
  446. package/dist/components/FilterInline/constants/ExpertiseLevelEnum.d.ts +0 -4
  447. package/dist/components/FilterSideBar/constants/ExpertiseLevelEnum.d.ts +0 -4
  448. package/dist/components/FooterBar/constants/ExpertiseLevelEnum.d.ts +0 -4
  449. package/dist/components/FranceConnectBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
  450. package/dist/components/HeaderBar/HeaderBurgerMenu/constants/ExpertiseLevelEnum.d.ts +0 -4
  451. package/dist/components/HeaderBar/constants/ExpertiseLevelEnum.d.ts +0 -4
  452. package/dist/components/HeaderLoading/constants/ExpertiseLevelEnum.d.ts +0 -4
  453. package/dist/components/HeaderToolbar/constants/ExpertiseLevelEnum.d.ts +0 -4
  454. package/dist/components/LangBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
  455. package/dist/components/Logo/constants/ExpertiseLevelEnum.d.ts +0 -4
  456. package/dist/components/LogoBrandSection/constants/ExpertiseLevelEnum.d.ts +0 -4
  457. package/dist/components/MaintenancePage/constants/ExpertiseLevelEnum.d.ts +0 -4
  458. package/dist/components/NirField/constants/ExpertiseLevelEnum.d.ts +0 -4
  459. package/dist/components/NotFoundPage/constants/ExpertiseLevelEnum.d.ts +0 -4
  460. package/dist/components/NotificationBar/constants/ExpertiseLevelEnum.d.ts +0 -4
  461. package/dist/components/PageContainer/constants/ExpertiseLevelEnum.d.ts +0 -4
  462. package/dist/components/PaginatedTable/constants/ExpertiseLevelEnum.d.ts +0 -4
  463. package/dist/components/PasswordField/constants/ExpertiseLevelEnum.d.ts +0 -4
  464. package/dist/components/PeriodField/constants/ExpertiseLevelEnum.d.ts +0 -4
  465. package/dist/components/PhoneField/constants/ExpertiseLevelEnum.d.ts +0 -4
  466. package/dist/components/RangeField/constants/ExpertiseLevelEnum.d.ts +0 -4
  467. package/dist/components/RatingPicker/constants/ExpertiseLevelEnum.d.ts +0 -4
  468. package/dist/components/SearchListField/constants/ExpertiseLevelEnum.d.ts +0 -4
  469. package/dist/components/SelectBtnField/constants/ExpertiseLevelEnum.d.ts +0 -4
  470. package/dist/components/SkipLink/constants/ExpertiseLevelEnum.d.ts +0 -4
  471. package/dist/components/SocialMediaLinks/constants/ExpertiseLevelEnum.d.ts +0 -4
  472. package/dist/components/SubHeader/constants/ExpertiseLevelEnum.d.ts +0 -4
  473. package/dist/components/SyAlert/constants/ExpertiseLevelEnum.d.ts +0 -4
  474. package/dist/components/TableToolbar/constants/ExpertiseLevelEnum.d.ts +0 -4
  475. package/dist/components/UploadWorkflow/constants/ExpertiseLevelEnum.d.ts +0 -4
  476. package/dist/components/UserMenuBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
  477. package/src/components/BackBtn/constants/ExpertiseLevelEnum.ts +0 -4
  478. package/src/components/BackToTopBtn/constants/ExpertiseLevelEnum.ts +0 -4
  479. package/src/components/ChipList/constants/ExpertiseLevelEnum.ts +0 -4
  480. package/src/components/CollapsibleList/constants/ExpertiseLevelEnum.ts +0 -4
  481. package/src/components/ContextualMenu/constants/ExpertiseLevelEnum.ts +0 -4
  482. package/src/components/CookieBanner/constants/ExpertiseLevelEnum.ts +0 -4
  483. package/src/components/CopyBtn/constants/ExpertiseLevelEnum.ts +0 -4
  484. package/src/components/Customs/SyBtnSelect/constants/ExpertiseLevelEnum.ts +0 -4
  485. package/src/components/Customs/SyInputSelect/constants/ExpertiseLevelEnum.ts +0 -4
  486. package/src/components/Customs/SySelect/constants/ExpertiseLevelEnum.ts +0 -4
  487. package/src/components/Customs/SyTextField/constants/ExpertiseLevelEnum.ts +0 -4
  488. package/src/components/DataList/constants/ExpertiseLevelEnum.ts +0 -4
  489. package/src/components/DataListGroup/constants/ExpertiseLevelEnum.ts +0 -4
  490. package/src/components/DatePicker/DatePicker.mdx +0 -222
  491. package/src/components/DatePicker/DateTextInput.vue +0 -504
  492. package/src/components/DatePicker/constants/ExpertiseLevelEnum.ts +0 -4
  493. package/src/components/DialogBox/constants/ExpertiseLevelEnum.ts +0 -4
  494. package/src/components/DownloadBtn/constants/ExpertiseLevelEnum.ts +0 -4
  495. package/src/components/ErrorPage/constants/ExpertiseLevelEnum.ts +0 -4
  496. package/src/components/ExternalLinks/constants/ExpertiseLevelEnum.ts +0 -4
  497. package/src/components/FileList/constants/ExpertiseLevelEnum.ts +0 -4
  498. package/src/components/FilePreview/constants/ExpertiseLevelEnum.ts +0 -4
  499. package/src/components/FileUpload/constants/ExpertiseLevelEnum.ts +0 -4
  500. package/src/components/FilterInline/constants/ExpertiseLevelEnum.ts +0 -4
  501. package/src/components/FilterSideBar/constants/ExpertiseLevelEnum.ts +0 -4
  502. package/src/components/FooterBar/constants/ExpertiseLevelEnum.ts +0 -4
  503. package/src/components/FranceConnectBtn/constants/ExpertiseLevelEnum.ts +0 -4
  504. package/src/components/HeaderBar/HeaderBurgerMenu/constants/ExpertiseLevelEnum.ts +0 -4
  505. package/src/components/HeaderBar/constants/ExpertiseLevelEnum.ts +0 -4
  506. package/src/components/HeaderLoading/constants/ExpertiseLevelEnum.ts +0 -4
  507. package/src/components/HeaderToolbar/constants/ExpertiseLevelEnum.ts +0 -4
  508. package/src/components/LangBtn/constants/ExpertiseLevelEnum.ts +0 -4
  509. package/src/components/Logo/constants/ExpertiseLevelEnum.ts +0 -4
  510. package/src/components/LogoBrandSection/constants/ExpertiseLevelEnum.ts +0 -4
  511. package/src/components/MaintenancePage/constants/ExpertiseLevelEnum.ts +0 -4
  512. package/src/components/NirField/constants/ExpertiseLevelEnum.ts +0 -4
  513. package/src/components/NotFoundPage/constants/ExpertiseLevelEnum.ts +0 -4
  514. package/src/components/NotificationBar/constants/ExpertiseLevelEnum.ts +0 -4
  515. package/src/components/PageContainer/constants/ExpertiseLevelEnum.ts +0 -4
  516. package/src/components/PaginatedTable/constants/ExpertiseLevelEnum.ts +0 -4
  517. package/src/components/PaginatedTable/tests/__snapshots__/PaginatedTable.spec.ts.snap +0 -886
  518. package/src/components/PasswordField/constants/ExpertiseLevelEnum.ts +0 -4
  519. package/src/components/PeriodField/constants/ExpertiseLevelEnum.ts +0 -4
  520. package/src/components/PhoneField/constants/ExpertiseLevelEnum.ts +0 -4
  521. package/src/components/RangeField/constants/ExpertiseLevelEnum.ts +0 -4
  522. package/src/components/RatingPicker/constants/ExpertiseLevelEnum.ts +0 -4
  523. package/src/components/SearchListField/constants/ExpertiseLevelEnum.ts +0 -4
  524. package/src/components/SelectBtnField/constants/ExpertiseLevelEnum.ts +0 -4
  525. package/src/components/SkipLink/constants/ExpertiseLevelEnum.ts +0 -4
  526. package/src/components/SocialMediaLinks/constants/ExpertiseLevelEnum.ts +0 -4
  527. package/src/components/SubHeader/constants/ExpertiseLevelEnum.ts +0 -4
  528. package/src/components/SyAlert/constants/ExpertiseLevelEnum.ts +0 -4
  529. package/src/components/TableToolbar/constants/ExpertiseLevelEnum.ts +0 -4
  530. package/src/components/UploadWorkflow/constants/ExpertiseLevelEnum.ts +0 -4
  531. package/src/components/UserMenuBtn/constants/ExpertiseLevelEnum.ts +0 -4
  532. package/src/stories/DesignTokens/ThemePA.mdx +0 -35
  533. /package/src/components/DatePicker/{examples → playground}/DatePickerHolidayRule.vue +0 -0
@@ -1,77 +1,584 @@
1
- import {Meta} from '@storybook/addon-docs/blocks';
1
+ import {Meta} from '@storybook/blocks';
2
2
 
3
3
  <Meta title="Accessibilité/Kit de pré-audit/Outils/Lecteurs d'écran"/>
4
4
 
5
- # Guide lecteurs d'écran
5
+ <style>
6
+ {`
7
+ /* Variables CSS */
8
+ :root {
9
+ --primary-color: #0C419A;
10
+ --secondary-color: #006386;
11
+ --accent-color: #00a5df;
12
+ --dark-color: #111212;
13
+ --light-color: #bbbcbd;
14
+ --success-color: #004439;
15
+ --warning-color: #60480e;
16
+ --info-color: #0c419a;
17
+ --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
18
+ --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.12);
19
+ --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.16);
20
+ --border-radius-sm: 4px;
21
+ --border-radius-md: 8px;
22
+ --border-radius-lg: 12px;
23
+ --transition-fast: 0.2s ease;
24
+ --transition-normal: 0.3s ease;
25
+ }
26
+
27
+ /* Styles globaux */
28
+ .screen-reader-page {
29
+ font-family: 'Roboto', sans-serif;
30
+ color: #333;
31
+ line-height: 1.6;
32
+ max-width: 1200px;
33
+ margin: 0 auto;
34
+ }
35
+
36
+ /* Header avec effet glassmorphism */
37
+ .screen-reader-header {
38
+ border-radius: var(--border-radius-lg);
39
+ padding: 2rem;
40
+ margin-bottom: 2rem;
41
+ position: relative;
42
+ overflow: hidden;
43
+ box-shadow: var(--shadow-lg);
44
+ }
45
+
46
+ .screen-reader-header::before {
47
+ content: '';
48
+ position: absolute;
49
+ top: 0;
50
+ left: 0;
51
+ right: 0;
52
+ bottom: 0;
53
+ background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxwYXR0ZXJuIGlkPSJwYXR0ZXJuIiB4PSIwIiB5PSIwIiB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHBhdHRlcm5Vbml0cz0idXNlclNwYWNlT25Vc2UiIHBhdHRlcm5UcmFuc2Zvcm09InJvdGF0ZSgzMCkiPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0icmdiYSgyNTUsMjU1LDI1NSwwLjAzKSI+PC9yZWN0PjwvcGF0dGVybj48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNwYXR0ZXJuKSI+PC9yZWN0Pjwvc3ZnPg==');
54
+ opacity: 0.1;
55
+ z-index: 0;
56
+ }
57
+
58
+ .screen-reader-header h1 {
59
+ font-size: 3rem;
60
+ margin: 0;
61
+ position: relative;
62
+ z-index: 1;
63
+ font-weight: 700;
64
+ text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
65
+ }
66
+
67
+ .screen-reader-header p {
68
+ font-size: 1.2rem;
69
+ margin-top: 1rem;
70
+ position: relative;
71
+ z-index: 1;
72
+ max-width: 800px;
73
+ }
74
+
75
+ /* Sections */
76
+ .screen-reader-section {
77
+ margin-bottom: 3rem;
78
+ background: white;
79
+ border-radius: var(--border-radius-lg);
80
+ padding: 2rem;
81
+ box-shadow: var(--shadow-md);
82
+ transition: transform var(--transition-normal), box-shadow var(--transition-normal);
83
+ }
84
+
85
+ .screen-reader-section:hover {
86
+ transform: translateY(-5px);
87
+ box-shadow: var(--shadow-lg);
88
+ }
89
+
90
+ .screen-reader-section h2 {
91
+ color: var(--primary-color);
92
+ font-size: 2rem;
93
+ margin-top: 0;
94
+ margin-bottom: 1.5rem;
95
+ padding-bottom: 0.5rem;
96
+ border-bottom: 3px solid #f2f6ff;
97
+ position: relative;
98
+ }
99
+
100
+ .screen-reader-section h2::after {
101
+ content: '';
102
+ position: absolute;
103
+ bottom: -2px;
104
+ left: 0;
105
+ width: 80px;
106
+ height: 3px;
107
+ }
108
+
109
+ .screen-reader-section h3 {
110
+ color: var(--secondary-color);
111
+ font-size: 1.5rem;
112
+ margin-top: 1.5rem;
113
+ margin-bottom: 1rem;
114
+ position: relative;
115
+ padding-bottom: 0.75rem;
116
+ }
117
+
118
+ .screen-reader-section h3::after {
119
+ content: '';
120
+ position: absolute;
121
+ bottom: -10px;
122
+ left: 0;
123
+ width: 80px;
124
+ height: 4px;
125
+ border-radius: 3px;
126
+ }
127
+
128
+ /* Info box */
129
+ .screen-reader-info {
130
+ background: #f2f6ff;
131
+ border-left: 4px solid var(--info-color);
132
+ padding: 1.5rem;
133
+ margin: 1.5rem 0;
134
+ border-radius: 0 var(--border-radius-md) var(--border-radius-md) 0;
135
+ position: relative;
136
+ }
137
+
138
+ .screen-reader-info::before {
139
+ content: "ℹ️";
140
+ position: absolute;
141
+ left: -12px;
142
+ top: -12px;
143
+ background: var(--info-color);
144
+ color: white;
145
+ width: 24px;
146
+ height: 24px;
147
+ border-radius: 50%;
148
+ display: flex;
149
+ align-items: center;
150
+ justify-content: center;
151
+ font-size: 14px;
152
+ }
153
+
154
+ /* Liens */
155
+ .screen-reader-link {
156
+ color: var(--primary-color);
157
+ text-decoration: none;
158
+ font-weight: 500;
159
+ position: relative;
160
+ transition: color var(--transition-normal);
161
+ }
162
+
163
+ .screen-reader-link::after {
164
+ content: '';
165
+ position: absolute;
166
+ bottom: -2px;
167
+ left: 0;
168
+ width: 100%;
169
+ height: 2px;
170
+ background: linear-gradient(90deg, var(--primary-color), transparent);
171
+ transform: scaleX(0);
172
+ transform-origin: left;
173
+ transition: transform var(--transition-normal);
174
+ }
175
+
176
+ .screen-reader-link:hover {
177
+ color: var(--secondary-color);
178
+ }
179
+
180
+ .screen-reader-link:hover::after {
181
+ transform: scaleX(1);
182
+ }
183
+
184
+ /* Cards */
185
+ .screen-reader-cards {
186
+ display: grid;
187
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
188
+ gap: 2rem;
189
+ margin: 2rem 0;
190
+ }
191
+
192
+ .screen-reader-card {
193
+ background: white;
194
+ border-radius: var(--border-radius-md);
195
+ overflow: hidden;
196
+ box-shadow: var(--shadow-sm);
197
+ transition: transform var(--transition-normal), box-shadow var(--transition-normal);
198
+ display: flex;
199
+ flex-direction: column;
200
+ }
201
+
202
+ .screen-reader-card:hover {
203
+ transform: translateY(-5px);
204
+ box-shadow: var(--shadow-md);
205
+ }
206
+
207
+ .screen-reader-card-header {
208
+ padding: 1.5rem;
209
+ background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
210
+ color: white;
211
+ }
212
+
213
+ .screen-reader-card-header h3 {
214
+ margin: 0;
215
+ color: white;
216
+ position: relative;
217
+ }
218
+
219
+ .screen-reader-card-body {
220
+ padding: 1.5rem;
221
+ flex-grow: 1;
222
+ }
223
+
224
+ .screen-reader-card-footer {
225
+ padding: 1rem 1.5rem;
226
+ background: #f8f9fa;
227
+ border-top: 1px solid #eee;
228
+ }
229
+
230
+ /* Shortcuts */
231
+ .shortcut-list {
232
+ list-style: none;
233
+ padding: 0;
234
+ margin: 1rem 0;
235
+ }
236
+
237
+ .shortcut-item {
238
+ display: flex;
239
+ align-items: center;
240
+ margin-bottom: 0.75rem;
241
+ padding: 0.5rem;
242
+ border-radius: var(--border-radius-sm);
243
+ transition: background-color var(--transition-fast);
244
+ }
245
+
246
+ .shortcut-item:hover {
247
+ background-color: #f8f9fa;
248
+ }
249
+
250
+ .shortcut-key {
251
+ background: #eee;
252
+ border: 1px solid #ddd;
253
+ border-radius: 4px;
254
+ padding: 0.25rem 0.5rem;
255
+ font-family: monospace;
256
+ margin-right: 1rem;
257
+ min-width: 100px;
258
+ text-align: center;
259
+ font-weight: bold;
260
+ box-shadow: 0 1px 2px rgba(0,0,0,0.1);
261
+ }
262
+
263
+ .shortcut-desc {
264
+ flex-grow: 1;
265
+ }
266
+
267
+ /* Responsive */
268
+ @media (max-width: 768px) {
269
+ .screen-reader-header {
270
+ padding: 1.5rem;
271
+ }
272
+
273
+ .screen-reader-header h1 {
274
+ font-size: 2rem;
275
+ }
276
+
277
+ .screen-reader-section {
278
+ padding: 1.5rem;
279
+ }
280
+
281
+ .screen-reader-cards {
282
+ grid-template-columns: 1fr;
283
+ }
284
+ }
285
+
286
+ /* Accessibilité */
287
+ @media (prefers-reduced-motion: reduce) {
288
+ .screen-reader-section,
289
+ .screen-reader-card,
290
+ .screen-reader-link::after {
291
+ transition: none;
292
+ }
293
+
294
+ .screen-reader-section:hover,
295
+ .screen-reader-card:hover {
296
+ transform: none;
297
+ }
298
+ }
299
+ `}
300
+ </style>
6
301
 
7
- Ce guide ne vise pas à vous former à l'utilisation quotidienne d'un lecteur d'écran, mais à vous fournir les informations nécessaires pour évaluer l'accessibilité des composants intégrés dans votre service.
302
+ <div className="screen-reader-page">
303
+ <div className="screen-reader-header">
304
+ <h1>Guide lecteurs d'écran</h1>
305
+ <p>Comprendre et utiliser les lecteurs d'écran pour tester l'accessibilité de vos interfaces</p>
306
+ </div>
8
307
 
9
- ## Qu’est-ce qu’un lecteur d’écran ?
308
+ <div className="screen-reader-section">
309
+ <h2>Introduction</h2>
310
+ <p>
311
+ Ce guide ne vise pas à vous former à l'utilisation quotidienne d'un lecteur d'écran, mais à vous fournir les informations nécessaires pour évaluer l'accessibilité des composants intégrés dans votre service.
312
+ </p>
313
+
314
+ <div className="screen-reader-info">
315
+ <p>
316
+ <strong>Rappel important :</strong> Les lecteurs d'écran sont des outils essentiels pour les personnes en situation de handicap visuel. Comprendre leur fonctionnement est crucial pour créer des interfaces véritablement accessibles.
317
+ </p>
318
+ </div>
319
+ </div>
320
+ <div className="screen-reader-section">
321
+ <h2>Qu'est-ce qu'un lecteur d'écran ?</h2>
322
+
323
+ <div className="screen-reader-cards">
324
+ <div className="screen-reader-card">
325
+ <div className="screen-reader-card-header">
326
+ <h3>Définition</h3>
327
+ </div>
328
+ <div className="screen-reader-card-body">
329
+ <p>
330
+ Un lecteur d'écran est un logiciel d'assistance technique destiné aux personnes « empêchées de lire » (aveugles, malvoyantes, dyslexiques, dyspraxiques…) en transformant le contenu affiché à l'écran en synthèse vocale ou braille.
331
+ </p>
332
+ </div>
333
+ </div>
334
+
335
+ <div className="screen-reader-card">
336
+ <div className="screen-reader-card-header">
337
+ <h3>Fonctionnement</h3>
338
+ </div>
339
+ <div className="screen-reader-card-body">
340
+ <p>
341
+ Il permet de naviguer dans le système d'exploitation et les applications en restituant le contenu textuel et sa structure, à condition que cette information soit correctement fournie par le logiciel (par exemple, le navigateur web).
342
+ </p>
343
+ </div>
344
+ </div>
345
+
346
+ <div className="screen-reader-card">
347
+ <div className="screen-reader-card-header">
348
+ <h3>Limitations</h3>
349
+ </div>
350
+ <div className="screen-reader-card-body">
351
+ <p>
352
+ Il ne peut pas interpréter des éléments non textuels comme des images ou des graphiques. C'est pourquoi le respect des normes d'accessibilité est important afin que la restitution puisse se faire correctement (ex : ajout d'un texte alternatif à une image).
353
+ </p>
354
+ </div>
355
+ </div>
356
+ </div>
357
+
358
+ <p>
359
+ Le lecteur d'écran bureau se pilote principalement au clavier tandis que c'est essentiellement avec des gestes pour la version mobile.
360
+ </p>
361
+
362
+ <p>
363
+ Il n'existe pas de lecteur d'écran unique et ils different en fonction du système d'exploitation. Ce guide se concentrera sur NVDA pour Windows et TalkBack pour Android.
364
+ </p>
365
+ </div>
10
366
 
11
- Un lecteur d'écran est un logiciel d’assistance technique destiné aux personnes « empêchées de lire » (aveugles, malvoyantes, dyslexiques, dyspraxiques…) en transformant le contenu affiché à l'écran en synthèse vocale ou braille. Il permet de naviguer dans le système d'exploitation et les applications en restituant le contenu textuel et sa structure, à condition que cette information soit correctement fournie par le logiciel (par exemple, le navigateur web). Il ne peut pas interpréter des éléments non textuels comme des images ou des graphiques. C’est pourquoi le respect des normes d’accessibilité est important afin que la restitution puisse se faire correctement (ex : ajout d’un texte alternatif à une image).
367
+ <div className="screen-reader-section">
368
+ <h2>Utilité d'un lecteur d'écran</h2>
369
+
370
+ <p>
371
+ Un lecteur d'écran est essentiel pour un audit d'accessibilité car il permet de simuler l'expérience d'un utilisateur aveugle ou malvoyant. Il aide à :
372
+ </p>
373
+
374
+ <div className="screen-reader-cards">
375
+ <div className="screen-reader-card">
376
+ <div className="screen-reader-card-header">
377
+ <h3>1. Vérifier la structure</h3>
378
+ </div>
379
+ <div className="screen-reader-card-body">
380
+ <p>Tester la logique de navigation (titres, sections, éléments interactifs).</p>
381
+ </div>
382
+ </div>
383
+
384
+ <div className="screen-reader-card">
385
+ <div className="screen-reader-card-header">
386
+ <h3>2. Tester l'interactivité</h3>
387
+ </div>
388
+ <div className="screen-reader-card-body">
389
+ <p>S'assurer que les éléments sont accessibles via le clavier et correctement annoncés.</p>
390
+ </div>
391
+ </div>
392
+
393
+ <div className="screen-reader-card">
394
+ <div className="screen-reader-card-header">
395
+ <h3>3. Vérifier les mises à jour</h3>
396
+ </div>
397
+ <div className="screen-reader-card-body">
398
+ <p>S'assurer que les changements de contenu dynamiques sont bien signalés.</p>
399
+ </div>
400
+ </div>
401
+
402
+ <div className="screen-reader-card">
403
+ <div className="screen-reader-card-header">
404
+ <h3>4. Contrôler le balisage</h3>
405
+ </div>
406
+ <div className="screen-reader-card-body">
407
+ <p>Vérifier l'utilisation correcte des balises HTML et ARIA pour une navigation fluide.</p>
408
+ </div>
409
+ </div>
410
+
411
+ <div className="screen-reader-card">
412
+ <div className="screen-reader-card-header">
413
+ <h3>5. Accessibilité multimédia</h3>
414
+ </div>
415
+ <div className="screen-reader-card-body">
416
+ <p>Vérifier que les images et vidéos sont correctement décrites.</p>
417
+ </div>
418
+ </div>
419
+ </div>
420
+
421
+ <div className="screen-reader-info">
422
+ <p>
423
+ Cela garantit que l'interface est réellement accessible, permettant une navigation autonome pour les utilisateurs en situation de handicap visuel. N'oubliez pas de consulter les manuels officiels pour des informations détaillées sur l'utilisation de chaque outil.
424
+ </p>
425
+ </div>
426
+ </div>
427
+ <div className="screen-reader-section">
428
+ <h2>NVDA (Windows)</h2>
429
+
430
+ <div className="screen-reader-card" style={{ maxWidth: "100%" }}>
431
+ <div className="screen-reader-card-header">
432
+ <h3>Présentation</h3>
433
+ </div>
434
+ <div className="screen-reader-card-body">
435
+ <p>
436
+ NVDA est un lecteur d'écran pour Windows, principalement utilisé pour l'audit d'accessibilité de sites web et d'applications bureautiques.
437
+ </p>
438
+ <p>
439
+ Il restitue l'information sous 2 modes : le mode navigation et le mode formulaire.
440
+ </p>
441
+ </div>
442
+ </div>
443
+
444
+ <div className="screen-reader-cards">
445
+ <div className="screen-reader-card">
446
+ <div className="screen-reader-card-header">
447
+ <h3>Mode navigation</h3>
448
+ </div>
449
+ <div className="screen-reader-card-body">
450
+ <p>
451
+ Le mode de navigation permet de se déplacer dans le contenu d'une page (titres, liens, paragraphes, etc.)
452
+ </p>
453
+ <p>
454
+ Il fournit des informations supplémentaires lors de la vocalisation. Par exemple, il annoncera "liste de x éléments" pour une liste à puces ou encore le niveau des titres, comme "titre de niveau 2", suivi de leur intitulé.
455
+ </p>
456
+ </div>
457
+ </div>
458
+
459
+ <div className="screen-reader-card">
460
+ <div className="screen-reader-card-header">
461
+ <h3>Mode formulaire</h3>
462
+ </div>
463
+ <div className="screen-reader-card-body">
464
+ <p>
465
+ Le mode formulaire est utilisé pour interagir avec des éléments de formulaire (champs de texte, cases à cocher, boutons, etc.) et y entrer des données. Le lecteur d'écran passe sur ce mode automatiquement lorsqu'il se trouve être sur un composant interactif. Les "raccourcis lettre" ne fonctionnent alors plus puisqu'ils servent à insérer du texte.
466
+ </p>
467
+ </div>
468
+ </div>
469
+ </div>
470
+
471
+ <h3>Principaux raccourcis</h3>
472
+
473
+ <div className="shortcut-list">
474
+ <div className="shortcut-item">
475
+ <span className="shortcut-key">CTRL + ALT + n</span>
476
+ <span className="shortcut-desc">Activer NVDA</span>
477
+ </div>
478
+ <div className="shortcut-item">
479
+ <span className="shortcut-key">NVDA + q</span>
480
+ <span className="shortcut-desc">Quitter NVDA</span>
481
+ </div>
482
+ <div className="shortcut-item">
483
+ <span className="shortcut-key">CTRL</span>
484
+ <span className="shortcut-desc">Arrêt de la parole</span>
485
+ </div>
486
+ <div className="shortcut-item">
487
+ <span className="shortcut-key">Flèche bas</span>
488
+ <span className="shortcut-desc">Élément suivant</span>
489
+ </div>
490
+ <div className="shortcut-item">
491
+ <span className="shortcut-key">Flèche haut</span>
492
+ <span className="shortcut-desc">Élément précédent</span>
493
+ </div>
494
+ <div className="shortcut-item">
495
+ <span className="shortcut-key">Tab</span>
496
+ <span className="shortcut-desc">Élément focusable suivant</span>
497
+ </div>
498
+ <div className="shortcut-item">
499
+ <span className="shortcut-key">Maj + Tab</span>
500
+ <span className="shortcut-desc">Élément focusable précédent</span>
501
+ </div>
502
+ <div className="shortcut-item">
503
+ <span className="shortcut-key">h</span>
504
+ <span className="shortcut-desc">Titre suivant</span>
505
+ </div>
506
+ <div className="shortcut-item">
507
+ <span className="shortcut-key">f</span>
508
+ <span className="shortcut-desc">Champ de formulaire suivant</span>
509
+ </div>
510
+ <div className="shortcut-item">
511
+ <span className="shortcut-key">k</span>
512
+ <span className="shortcut-desc">Lien suivant</span>
513
+ </div>
514
+ <div className="shortcut-item">
515
+ <span className="shortcut-key">d</span>
516
+ <span className="shortcut-desc">Région suivante</span>
517
+ </div>
518
+ <div className="shortcut-item">
519
+ <span className="shortcut-key">MAJ + lettre</span>
520
+ <span className="shortcut-desc">Revenir en arrière</span>
521
+ </div>
522
+ </div>
523
+
524
+ <div className="screen-reader-info">
525
+ <p>
526
+ Pour plus de détails, consultez <a href="https://www.nvda.fr/doc.php" className="screen-reader-link" target="_blank" rel="noopener noreferrer">le manuel officiel NVDA</a> ainsi que <a href="https://www.tanaguru.com/guide-et-raccourcis-nvda-pour-les-tests-daccessibilite/" className="screen-reader-link" target="_blank" rel="noopener noreferrer">le guide de Tanaguru</a>.
527
+ </p>
528
+ </div>
529
+ </div>
12
530
 
13
- Le lecteur d'écran bureau se pilote principalement au clavier tandis que c’est essentiellement avec des gestes pour la version mobile.
14
-
15
- Il n'existe pas de lecteur d'écran unique et ils different en fonction du système d’exploitation. Ce guide se concentrera sur NVDA pour Windows et TalkBack pour Android.
16
-
17
- ## Utilité d’un lecteur d’écran
18
-
19
- Un lecteur d'écran est essentiel pour un audit d'accessibilité car il permet de simuler l'expérience d'un utilisateur aveugle ou malvoyant. Il aide à :
20
-
21
- 1. **Vérifier la structure** : Tester la logique de navigation (titres, sections, éléments interactifs).
22
- 2. **Tester l'interactivité** : S'assurer que les éléments sont accessibles via le clavier et correctement annoncés.
23
- 3. **Vérifier les mises à jour dynamiques** : S'assurer que les changements de contenu sont bien signalés.
24
- 4. **Contrôler le balisage** : Vérifier l'utilisation correcte des balises HTML et ARIA pour une navigation fluide.
25
- 5. **Accessibilité multimédia** : Vérifier que les images et vidéos sont correctement décrites.
26
-
27
- Cela garantit que l'interface est réellement accessible, permettant une navigation autonome pour les utilisateurs en situation de handicap visuel. N'oubliez pas de consulter les manuels officiels pour des informations détaillées sur l'utilisation de chaque outil.
28
-
29
- ## NVDA (Windows)
30
-
31
- NVDA est un lecteur d'écran pour Windows, principalement utilisé pour l'audit d'accessibilité de sites web et d'applications bureautiques.
32
-
33
- Il restitue l’information sous 2 modes : le mode navigation et le mode formulaire.
34
-
35
- ### Mode navigation
36
-
37
- Le mode de navigation permet de se déplacer dans le contenu d'une page (titres, liens, paragraphes, etc.)
38
-
39
- Il fournit des informations supplémentaires lors de la vocalisation. Par exemple, il annoncera "liste de x éléments" pour une liste à puces ou encore le niveau des titres, comme "titre de niveau 2", suivi de leur intitulé.
40
-
41
- ### Mode formulaire
42
-
43
- Le mode formulaire est utilisé pour interagir avec des éléments de formulaire (champs de texte, cases à cocher, boutons, etc.) et y entrer des données. Le lecteur d’écran passe sur ce mode automatiquement lorsqu’il se trouve être sur un composant interactif. Les “raccourcis lettre” ne fonctionnent alors plus puisqu’ils servent à insérer du texte.
44
-
45
- Principaux raccourcis :
46
-
47
- - CTRL + ALT + n : Activer NVDA
48
- - NVDA + q : Quitter NVDA
49
- - CTRL : Arrêt de la parole
50
- - Flèche bas : Élément suivant
51
- - Flèche haut : Élément précédent
52
- - Tab : Élément focusable suivant
53
- - Maj + Tab : Élément focusable précédent
54
- - h : Titre suivant
55
- - f : Champ de formulaire suivant
56
- - k : Lien suivant
57
- - d : Région suivante
58
- - MAJ + lettre : Revenir en arrière
59
-
60
- Pour plus de détails, consultez [le manuel officiel NVDA](https://www.nvda.fr/doc.php) ainsi que [le guide de Tanaguru](https://www.tanaguru.com/guide-et-raccourcis-nvda-pour-les-tests-daccessibilite/).
61
-
62
- ## TalkBack (Android)
63
-
64
- TalkBack est un lecteur d'écran pour Android, directement embarqué.
65
-
66
- Pour l’activer ou le désactiver, il suffit de se rendre dans les paramètres de votre appareil puis dans le menu “Accessibilité”. Un tutoriel d’utilisation vous sera alors proposé au démarrage. C’est à cet endroit que vous pouvez personnaliser l’outil tel que la vitesse de la parole, la tonalité, les gestes, etc.
67
-
68
- Ce lecteur d’écran utilise des gestes spécifiques pour naviguer dans l’interface. Voici les principaux gestes :
69
-
70
- - **Déplacer le focus** : Faites glisser un doigt vers la gauche ou vers la droite pour déplacer le focus entre les éléments à l'écran.
71
- - **Sélectionner un élément** : Touchez un élément à l'écran avec un seul doigt pour entendre sa description, puis double-tapez pour l'activer.
72
- - **Faire défiler** : Balayez deux doigts vers le haut ou vers le bas pour faire défiler l'écran.
73
- - **Retour** : Faites glisser trois doigts vers la gauche pour revenir en arrière.
74
- - **Accéder au menu d'options** : Touchez deux fois et maintenez pour ouvrir le menu contextuel des options (comme le copier, coller, etc.).
75
- - **Suspendre ou reprendre la lecture :** Appuyez avec deux doigts
76
-
77
- Pour plus de détails, consultez [le manuel officiel TalkBack](https://support.google.com/accessibility/android/answer/6283677?hl=fr).
531
+ <div className="screen-reader-section">
532
+ <h2>TalkBack (Android)</h2>
533
+
534
+ <div className="screen-reader-card" style={{ maxWidth: "100%" }}>
535
+ <div className="screen-reader-card-header">
536
+ <h3>Présentation</h3>
537
+ </div>
538
+ <div className="screen-reader-card-body">
539
+ <p>
540
+ TalkBack est un lecteur d'écran pour Android, directement embarqué.
541
+ </p>
542
+ <p>
543
+ Pour l'activer ou le désactiver, il suffit de se rendre dans les paramètres de votre appareil puis dans le menu "Accessibilité". Un tutoriel d'utilisation vous sera alors proposé au démarrage. C'est à cet endroit que vous pouvez personnaliser l'outil tel que la vitesse de la parole, la tonalité, les gestes, etc.
544
+ </p>
545
+ </div>
546
+ </div>
547
+
548
+ <h3>Principaux gestes</h3>
549
+ <p>Ce lecteur d'écran utilise des gestes spécifiques pour naviguer dans l'interface. Voici les principaux gestes :</p>
550
+
551
+ <div className="shortcut-list">
552
+ <div className="shortcut-item">
553
+ <span className="shortcut-key">Glisser 1 doigt</span>
554
+ <span className="shortcut-desc">Déplacer le focus entre les éléments à l'écran</span>
555
+ </div>
556
+ <div className="shortcut-item">
557
+ <span className="shortcut-key">Toucher + Double-tap</span>
558
+ <span className="shortcut-desc">Sélectionner un élément (toucher pour entendre sa description, puis double-taper pour l'activer)</span>
559
+ </div>
560
+ <div className="shortcut-item">
561
+ <span className="shortcut-key">Balayer 2 doigts</span>
562
+ <span className="shortcut-desc">Faire défiler l'écran vers le haut ou vers le bas</span>
563
+ </div>
564
+ <div className="shortcut-item">
565
+ <span className="shortcut-key">Glisser 3 doigts</span>
566
+ <span className="shortcut-desc">Revenir en arrière</span>
567
+ </div>
568
+ <div className="shortcut-item">
569
+ <span className="shortcut-key">Double-tap + maintenir</span>
570
+ <span className="shortcut-desc">Ouvrir le menu contextuel des options (copier, coller, etc.)</span>
571
+ </div>
572
+ <div className="shortcut-item">
573
+ <span className="shortcut-key">Appuyer avec 2 doigts</span>
574
+ <span className="shortcut-desc">Suspendre ou reprendre la lecture</span>
575
+ </div>
576
+ </div>
577
+
578
+ <div className="screen-reader-info">
579
+ <p>
580
+ Pour plus de détails, consultez <a href="https://support.google.com/accessibility/android/answer/6283677?hl=fr" className="screen-reader-link" target="_blank" rel="noopener noreferrer">le manuel officiel TalkBack</a>.
581
+ </p>
582
+ </div>
583
+ </div>
584
+ </div>